1. 使用低级音频函数 WaveX : 缓存
http://blog.csdn.net/kvw3000/article/details/68468 数据结构
控制着不一样的音频设备, 包括 wave, midi 和辅助音频设备. 低级服务包括: 函数
(1) 查询音频设备.
(2) 打开和关闭设备驱动程序.
(3) 分配和准备音频数据块. ?waveSetBuffer()
(4) 管理音频数据块.
(5) 应用 MMTIME 结构.
(6) 处理错误. 性能
使用了 Windows 的消息映射, 在音频事件会发送有关消息. .net
(1) MM_WOM_CLOSE 输出设备关闭
(2) MM_WOM_DONE 输出缓存播放完毕.
(3) MM_WOM_OPEN 设备被打开
(4) MOM_CLOSE MIDI 设备关闭.
(5) WOM_DONE
(6) WOM_OPEN blog
相关数据结构: 事件
1) 波形数据格式 WAVEFORMAT/EX
2) 波形数据缓冲区格式 WAVEHDR
3) 音频输出设备性能 WAVEOUTCAPS get
定义在 mmsystem.h 中. it
读取 wave 文件的大体流程: io
1. mmioOpen() 打开文件.
2. mmioDescend('WAVE') 进入 ... 块
3. mmioRead() 读取信息
4. mmioAscend() 跳出 ... 块
... 进入 data 块, 读取, 跳出 ...data
最后. mmioClose() 关闭
输出 wav 文件:
waveOutOpen() 打开. waveOutPrepareHeader() 准备数据头 waveOutWrite() 写入数据并播放 waveOutReset() ... 等略.