Microsoft DirectX 8.0 (C++) |
リバーブおよびステレオ タイプのバッファを設定する。
ステレオ バッファは複数のオーディオパスで共有される。これはシンクイン バッファで、ほかのバッファからではなく、シンセサイザから直接データを受け取る。
アプリケーションは、dwStage を DMUS_PATH_BUFFER に、dwBuffer を 0 に設定して GetObjectInPath メソッドのいずれかを呼び出すことによって、ステレオ バッファへのインターフェイスを取得できる。
リバーブ バッファも共有シンクイン バッファである。ステレオ バッファとは異なり、シンセサイザからのモノラル入力を受け取り、データをステレオ フォーマットに変換する。
アプリケーションは、dwStage を DMUS_PATH_BUFFER に、dwBuffer を 1 に設定して GetObjectInPath メソッドのいずれかを呼び出すことによって、リバーブ バッファへのインターフェイスを取得できる。
次のサンプル コードは、デフォルトの DMUS_APATH_SHARED_STEREOPLUSREVERB オーディオパス上にあるリバーブ バッファ内の DMO への IDirectSoundFXWavesReverb8 インターフェイスを取得する。g_pPerf は IDirectMusicPerformance8インターフェイスである。
IDirectMusicAudioPath8 * pAudioPath; IDirectSoundFXWavesReverb8 * pEffectDMO; HRESULT hr; hr = g_pPerf->GetDefaultAudioPath(&pAudioPath); if (SUCCEEDED(hr)) { HRESULT hr = pAudioPath->GetObjectInPath(DMUS_PCHANNEL_ALL, DMUS_PATH_BUFFER_DMO, 1, GUID_All_Objects, 0, IID_IDirectSoundFXWavesReverb8, (LPVOID*) &pEffectDMO); }