Microsoft DirectX 8.0 (Visual Basic) |
純粋な DirectSound アプリケーションでのエフェクトの再生は、基本的には DirectMusic のパフォーマンスおよびオーディオパスを使用するアプリケーションの場合と同様に処理される。詳細については、「エフェクトの使い方」を参照すること。DirectSound アプリケーションにはオーディオパスがないので、常にバッファを直接操作する。
バッファがあまり小さいと、エフェクトがうまく動作しない。DirectSound では、DSBSIZE_FX_MIN ミリ秒以下のデータしか保持できないエフェクト使用可能なバッファは作成できない。
DSBUFFERDESC 型の DSBCAPS_CTRLFX フラグを設定して、DMO を保持できるセカンダリ バッファを作成する。
セカンダリ サウンド バッファでエフェクトを実装するには、DirectSoundSecondaryBuffer8.SetFX を使う。
エフェクトのオブジェクトを取得するには、DirectSoundSecondaryBuffer8.GetObjectInPath を使う。このメソッドは、DirectMusicAudioPath8.GetObjectInPath とは異なり、lStage パラメータを取らない。これは、バッファから取得できるオブジェクトは DMO だけだからである。