Microsoft DirectX 8.0 (C++) |
オーディオパス内の特定のオブジェクトへのインターフェイスを取得しなければならない場合がある。このような場合の一般的な理由は次のとおりである。
オブジェクトは、オーディオパスで演奏中のセグメント状態について IDirectMusicSegmentState8::GetObjectInPath を呼び出すことによって、オーディオパスから取得できる。オーディオパス オブジェクト自体について IDirectMusicAudioPath8::GetObjectInPath を呼び出すこともできる。次の表では、これら 2 つのメソッドのパラメータについて説明する。
dwStage | guidObject | dwPChannel を使用するか |
dwIndex を使用するか |
iidInterface (標準) |
---|---|---|---|---|
DMUS_PATH_AUDIOPATH (*) | 無視される | いいえ | いいえ | IID_IDirectMusicAudioPath8 |
DMUS_PATH_AUDIOPATH_GRAPH | 無視される | いいえ | いいえ | IID_IDirectMusicGraph8 |
DMUS_PATH_AUDIOPATH_TOOL | ツール クラス ID または 列挙する GUID_All_Objects |
はい | はい | IID_IDirectMusicTool8 |
DMUS_PATH_BUFFER | 無視される | はい | いいえ。dwBuffer によって識別する | IID_IDirectSoundBuffer8 |
DMUS_PATH_BUFFER_DMO | GUID_DSFX_STANDARD_GARGLE などの DMO クラス ID または 列挙する GUID_All_Objects |
はい | はい。バッファ内の DMO のインデックス | IID_IDirectSoundFXGargle(**) など、標準 DMO インターフェイスの GUID |
DMUS_PATH_MIXIN_BUFFER | 無視される | いいえ | いいえ。dwBuffer によって識別する | IID_IDirectSoundBuffer8 |
DMUS_PATH_MIXIN_BUFFER_DMO | GUID_DSFX_STANDARD_I3DL2REVERB などの DMO クラス ID または 列挙する GUID_All_Objects |
いいえ | はい。バッファ内の DMO のインデックス | IID_IDirectSoundFXI3DL2Reverb(**) など、標準 DMO インターフェイスの GUID |
DMUS_PATH_PERFORMANCE | 無視される | いいえ | いいえ | IID_IDirectMusicPerformance8 |
DMUS_PATH_PERFORMANCE_GRAPH | 無視される | いいえ | いいえ | IID_IDirectMusicGraph8 |
DMUS_PATH_PERFORMANCE_TOOL | ツール クラス ID または 列挙する GUID_All_Objects |
はい | はい | IID_IDirectMusicTool8 |
DMUS_PATH_PORT | ポート クラス ID または 列挙する GUID_All_Objects |
はい | はい | IID_IDirectMusicPort |
DMUS_PATH_PRIMARY_BUFFER | 無視される | いいえ | いいえ | IID_IDirectSound3DListener8 |
DMUS_PATH_SEGMENT (*) | 無視される | いいえ | いいえ | IID_IDirectMusicSegment8 |
DMUS_PATH_SEGMENT_GRAPH (*) | 無視される | いいえ | いいえ | IID_IDirectMusicGraph8 |
DMUS_PATH_SEGMENT_TOOL (*) | ツール クラス ID または 列挙する GUID_All_Objects |
はい | はい | IID_IDirectMusicTool8 |
DMUS_PATH_SEGMENT_TRACK (*) | トラック クラス ID または 列挙する GUID_All_Objects |
いいえ | はい | IID_IDirectMusicTrack8 |
注 (*) この段階のオブジェクトは、IDirectMusicAudioPath8::GetObjectInPath によって取得できる。
(**) DirectX の DMO は、IMediaObject、IMediaObjectInPlace、および IMediaParams インターフェイスをサポートする。これらのインターフェイスの詳細については、DirectShow のマニュアルを参照すること。
標準的なバッファを取得するときの dwIndex の値の詳細については、「標準オーディオパス」を参照すること。
既にエフェクト バッファへのインターフェイスがある場合は、IDirectSoundBuffer8::GetObjectInPath を使って DMO インターフェイスを取得することもできる。
オーディオパスのすべてのバッファについて IDirectSoundBuffer8 インターフェイスを取得できるが、一部のメソッドは有効ではない。詳細については、「IDirectSoundBuffer8」を参照すること。