Windows 音頻知識學習彙總

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

相關文章
相關標籤/搜索