Platform SDK: DirectX

DirectSound バッファ オブジェクトの設定

[Visual Basic]

ここでは、C++ で記述されたアプリケーションに関連のある内容だけを説明する。DirectX for Visual Basic では、DirectMusic 出力に対してカスタム DirectSound バッファはサポートされない。

[C++]

DirectMusic が DirectSound にリンクされる場合、各ポートからのウェーブ出力用のセカンダリ DirectSound バッファが、ポートと同じ形式で作成および管理される。IDirectMusicPort::SetDirectSound メソッドを使ってデフォルトの動作を上書きし、データを別のバッファのストリームに入れることができる。この操作は、たとえばサウンド バッファに 3-D エフェクトを与えるために実行できる (「3DMusic サンプル」を参照すること)。シンセサイザ ポートのインスタンスを複数作成して、それぞれに固有の DirectSound 3-D バッファを設定し、空間内の別の場所に違う音色を配置することもできる。

IDirectMusicPort::SetDirectSound に渡すバッファは、フォーマットの一致したセカンダリ ストリーミング バッファでなければならない。ウェーブ フォーマットの情報および推奨バッファ サイズを取得するには、IDirectMusicPort::GetFormat メソッドを呼び出す。

IDirectMusicPort::SetDirectSound に独自の IDirectSoundBuffer を渡すと、DirectMusic はプライマリ バッファのアップグレードを試みない。