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 は、IMediaObjectIMediaObjectInPlace、および IMediaParams インターフェイスをサポートする。これらのインターフェイスの詳細については、DirectShow のマニュアルを参照すること。

標準的なバッファを取得するときの dwIndex の値の詳細については、「標準オーディオパス」を参照すること。

既にエフェクト バッファへのインターフェイスがある場合は、IDirectSoundBuffer8::GetObjectInPath を使って DMO インターフェイスを取得することもできる。

オーディオパスのすべてのバッファについて IDirectSoundBuffer8 インターフェイスを取得できるが、一部のメソッドは有効ではない。詳細については、「IDirectSoundBuffer8」を参照すること。