文档章节

Windows 音频知识学习汇总

刘军兴
 刘军兴
发布于 2015/12/16 15:22
字数 272
阅读 19
收藏 0
点赞 0
评论 0

1. 使用低级音频函数 WaveX :

  http://blog.csdn.net/kvw3000/article/details/68468

控制着不同的音频设备, 包括 wave, midi 和辅助音频设备. 低级服务包括:

   (1) 查询音频设备.
   (2) 打开和关闭设备驱动程序.
   (3) 分配和准备音频数据块.   ?waveSetBuffer()
   (4) 管理音频数据块.
   (5) 应用 MMTIME 结构.
   (6) 处理错误.

使用了 Windows 的消息映射, 在音频事件会发送有关消息.

   (1) MM_WOM_CLOSE 输出设备关闭
   (2) MM_WOM_DONE 输出缓存播放完毕.
   (3) MM_WOM_OPEN 设备被打开
   (4) MOM_CLOSE MIDI 设备关闭.
   (5) WOM_DONE
   (6) WOM_OPEN

相关数据结构:

   1) 波形数据格式 WAVEFORMAT/EX
   2) 波形数据缓冲区格式 WAVEHDR
   3) 音频输出设备性能 WAVEOUTCAPS

定义在 mmsystem.h 中.

 

读取 wave 文件的大致流程:

1. mmioOpen() 打开文件.
2. mmioDescend('WAVE') 进入 ... 块
3. mmioRead() 读取信息
4. mmioAscend() 跳出 ... 块
... 进入 data 块, 读取, 跳出 ...data
最后. mmioClose() 关闭

输出 wav 文件:

waveOutOpen() 打开.
waveOutPrepareHeader() 准备数据头
waveOutWrite() 写入数据并播放
waveOutReset() ... 等略.

 

 

© 著作权归作者所有

共有 人打赏支持
刘军兴
粉丝 54
博文 184
码字总数 226359
作品 0
昌平
我的开源视音频项目汇总

本文汇总一下自己视音频编解码学习方面的开源项目。这些开源项目大体上可以分成专业领域程序,FFmpeg示例程序,FFmpeg移植程序,多媒体项目示例程序,视音频编解码原理学习工程几个类别。这些...

leixiaohua1020
2015/01/13
0
0
从开发小白到音视频专家

作者:卢俊,七牛云客户端团队技术负责人。拥有丰富的音视频领域的开发和实战经验,先后开发过 Android 播放 SDK、Android 推流 SDK、短视频 SDK,并主导了七牛连麦系统的设计和实现。服务过...

dev_csdn
2017/12/07
0
0
《基于 FFmpeg + SDL 的视频播放器的制作》课程的视频

这两天开始带广播电视工程大二的暑假小学期的课程设计了。本次小学期课程内容为《基于 FFmpeg + SDL 的视频播放器的制作》,其中主要讲述了视音频开发的入门知识。由于感觉本课程的内容不但适...

leixiaohua1020
2015/07/26
0
0
微软Windows Azure平台资源汇总

公告:本博客为微软云计算中文博客的镜像博客。部分文章因为博客兼容性问题,会影响阅读体验。如遇此情况,请访问原博客。 云计算简介 了解云计算的一般概念。 Windows Azure平台简介 开始认...

晨曦之光
2012/03/09
0
0
最全的Windows Azure学习教程汇总

转载: http://blog.csdn.net/powertoolsteam/article/details/53082470 目录(?)[-] 一 Windows Azure 平台简介 二Windows Azure入门教学系列 三Azure学习笔记 四Azure Storage 基本用法介绍......

chenhao_asd
2017/02/26
0
0
最全的Windows Azure学习教程汇总

Windows Azure 是微软基于云计算的操作系统,能够为开发者提供一个平台,帮助开发可运行在云服务器、数据中心、Web 和 PC 上的应用程序。 Azure 是一种灵活和支持互操作的平台,能够将处于云...

葡萄城控件技术团队
2016/11/08
35
0
我的2017年文章汇总——JDK源码篇

2018已经开始,可能还有360天结束。 Eventually a single thing can only get so big. You need to do something else. 近期准备把过去一年写的文章按照分类重新整理推送一遍,包括:“分布式...

sea-boat
01/08
0
0
我的2017年文章汇总——JDK源码篇

2018已经开始,可能还有360天结束。 Eventually a single thing can only get so big. You need to do something else. 近期准备把过去一年写的文章按照分类重新整理推送一遍,包括:“分布式...

01/07
0
0
我的2017年文章汇总——JDK源码篇

2018已经开始,可能还有360天结束。 Eventually a single thing can only get so big. You need to do something else. 近期准备把过去一年写的文章按照分类重新整理推送一遍,包括:“分布式...

wangyangzhizhou
01/07
0
0
音视频相关基础知识

前言 音视频相关的基础知识网上层出不穷,我们要善于站在巨人的肩膀上去学习,本篇博客将基于雷老师(雷霄骅)的博客以及讲课ppt,如果没有雷老师的无私奉献,就没有我们宝贵的学习资料,愿老...

浮生若梦zp
2017/12/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

www.w3.org被qiang导致logback报错:Connect reset

web项目部署到tomcat后,web项目中的logback不能运行,报错信息如下: Reported exception: ch.qos.logback.core.joran.spi.JoranException: I/O error occurred while parsing xml file......

浮躁的码农
21分钟前
0
0
JDeveloper中文乱码解决

全局设置字体; 全局设置环境编码; 项目设置编译器环境编码。

wffger
48分钟前
1
0
MySQL主从介绍 , 准备工作,配置主,配置从, 测试主从同步

MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 MySQL主从是基于binlog的,主上须开启bin...

TaoXu
今天
1
0
线性代数学习总结

亭子happy
今天
1
0
Java8:Lambda表达式增强版Comparator和排序

1、概述 在这篇教程里,我们将要去了解下即将到来的JDK 8(译注,现在JDK 8已经发布了)中的Lambda表达式——特别是怎样使用它来编写Comparator和对集合(Collection)进行排序。 这篇文章是...

孟飞阳
今天
0
0
从架构到组件,深挖istio如何连接、管理和保护微服务2.0?

近几年我一直从事于微服务系统的设计以及实现方面的工作,属于微服务架构一线实践者。之前做过一些单体系统的微服务改造,在微服务拆分、治理等方面都有一定的经验。 本人比较特殊一点的经历...

xiaomin0322
今天
1
0
基于vue的h5文件切片上传(获取文件md5,实现秒传、进度条实现)

template <button @click="file"></button><label ref="upload" style="position: relative;"> <input type="file" @change="selectFile" style="position: abs......

hkaikai
今天
1
0
Spring Boot 2.0 项目实现自同步AD域账号

在通过Spring Boot的自动化装配功能及JDK自带的LDAP模块,可通过如下几个简单步骤实现业务系统自动同步AD域账号功能。 1. Java自带ldap搜索域账号信息核心代码: try { LdapContext ctx...

B超
今天
1
0
Python----字符串中编码的问题

字符串中编码的问题 1、字符串前加 u 例:u"我是含有中文字符组成的字符串。" 作用: 后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用...

android-key
今天
1
0
Tomcat8.0 + Redis 实现 Session 会话共享

由于项目需要,需要实现Tomcat8.0 + Redis 实现 Session 会话共享,以便于实现多应用集群。后参考了开源项目: https://github.com/jcoleman/tomcat-redis-session-manager 进行调整后实现该...

杨应滨
今天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部