2015年7月24日金曜日

WASAPI

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 件のコメント:

コメントを投稿