音声出力に対する再生ポジション設定のインプリ。
// 再生ポジション(-10000...left, 0...center, 10000...right)
void set_balance(long balance)
{
// 音声レンダラフィルター所得
IBaseFilter* pAudioRendererFilter = 0;
CoCreateInstance(CLSID_AudioRender, 0, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void**)&pAudioRendererFilter);
// IBasicAudioインターフェースの所得
IBasicAudio* pBasicAudio = 0;
pAudioRendererFilter->QueryInterface(IID_IBasicAudio, (void**)&pBasicAudio);
// 再生ポジションセット
pBasicAudio->put_Balance(balance);
// 解放
pBasicAudio->Release();
pAudioRendererFilter->Release();
}
|