WASAPIは, Core Audio APIsの中の音声再生API.
User-Mode Audio Components
共有モードと排他モードがあるが, ゲーム等, 音声を複数再生する場合,
共有モードを使用する.
基本はサンプルとおり
Rendering a Stream
音声再生のプログラムは,
ドライバなりエンジンからの次データ要求や,
再生バッファの空きの検知をトリガーに,
音声データをドライバ・エンジンに引き渡す処理を繰り返す.
WASAPIの場合, ポーリングで未処理をデータサイズを調べるか, イベントで検知する.
イベントは, WindowsのEventを引き渡し, そのEventがセットされるかチェックする.
イベントを使う方法は, 複数音声の管理には向いていないと思われる.
Core Audio APIsは, エフェクトの機能はなく, 高位のMedia Foundation等が提供する.
サンプル周波数変換には, IAudioClockAdjustmentが共有モードで使用できるが,
品質のほどはわからない.
Speexの, 信号処理部分を纏めたSpeexDSPがある.
resamplerだけ抜き出すのも簡単.
0 件のコメント:
コメントを投稿