Windows 音频知识学习汇总

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() ... 等略.

 

 

你可能感兴趣的:(Windows 音频知识学习汇总)