Microsoft DirectX 8.0 (C++) |
サウンド バッファを作成するときに、バッファが必要とするコントロール オプションを指定しなければならない。これには DSBUFFERDESC 構造体の dwFlags メンバを使用する。この構造体は、1 つまたは複数の DSBCAPS_CTRL* フラグを保持できる。
次のコントロールが利用できる。
あらゆるサウンド カードから最高の性能を得るには、アプリケーションが使うオプションだけを指定すべきである。
DirectSound はコントロール オプションを使って、サウンド バッファにハードウェア リソースを割り当てられるかどうかを決定する。たとえば、あるデバイスがハードウェア バッファをサポートしていて、それらのバッファにパン コントロールを提供していないとする。この場合、DirectSound は DSBCAPS_CTRLPAN フラグが指定されていない場合に限って、ハードウェア アクセラレーションを使う。
コントロールは、特定の組み合わせで使用できないことに注意すること。たとえば、パンと 3D を同時に使用することはできない。
バッファが備えていないコントロールを使おうとすると、メソッドは失敗する。たとえば、IDirectSoundBuffer8::SetVolume メソッドを使ってボリュームを変更しようとするとき、そのバッファの作成時に DSBCAPS_CTRLVOLUME フラグが指定されていた場合に限ってメソッドは成功する。このフラグが指定されていなかった場合はメソッドは失敗に終わり、DSERR_CONTROLUNAVAIL エラーコードが返される。
「再生のコントロール」も参照すること。