IDirectSound8 インターフェイス
IDirectSound8 インターフェイスは、バッファ オブジェクトの作成、デバイスの管理、環境の設定に使う。このインターフェイスは IDirectSound の代わりに提供され、新しいメソッドが追加されている。
このインターフェイスを取得するには、DirectSoundCreate8 関数または DirectSoundFullDuplexCreate8 関数を使うか、CoCreateInstance または CoCreateInstanceEx を使って CLSID_DirectSound8 クラスのオブジェクトを作成する。
IUnknown から継承するメソッドのほかに、IDirectSound8 インターフェイスは以下のメソッドを公開している。
メソッド | 説明 |
Compact | オンボード サウンド メモリに未使用部分が存在する場合は、それを移動して連続ブロックを形成し、空きメモリ領域を最大にする。 |
CreateSoundBuffer | サンプリング オーディオを管理するために、サウンド バッファ オブジェクトを作成する。 |
DuplicateSoundBuffer | オリジナル バッファのメモリを共有する新しいセカンダリ バッファを作成する。 |
GetCaps | ハードウェア デバイスの能力を取得する。 |
GetSpeakerConfig | スピーカの構成を取得する。 |
Initialize | CoCreateInstance 関数を使って作成されたデバイス オブジェクトを初期化する。 |
SetCooperativeLevel | サウンド デバイスに対するアプリケーションの協調レベルを設定する。 |
SetSpeakerConfig | デバイスのスピーカ構成を指定する。 |
VerifyCertification | デバイス ドライバが DirectX で認証されているかどうかを確認する。 |
LPDIRECTSOUND8 型は、IDirectSound8 インターフェイスへのポインタとして定義されている。
typedef struct IDirectSound8 *LPDIRECTSOUND8;
注意
CLSID_DirectSound8 クラスのオブジェクトだけが、このインターフェイスをサポートする。DirectSoundCreate8 および DirectSoundFullDuplexCreate8 で作成されたデバイス オブジェクトはすべて、このカテゴリとなる。CLSID_DirectSound クラスのオブジェクトは、以前の DirectSoundCreate 関数を使って作成されたすべてのオブジェクトを含めて、以前の IDirectSound インターフェイスのみをサポートする。
CLSID_DirectSound8 オブジェクトの動作は、いくつかの点で CLSID_DirectSound オブジェクトと異なる。これらの違いは、IDirectSound8 インターフェイスと同様、IDirectSound インターフェイスにも見られる。新しいオブジェクトの動作に関して、次のような相違がある。
- IDirectSound::CreateSoundBuffer と IDirectSound8::CreateSoundBuffer の呼び出しでは、非モノラル形式のバッファに DSBCAPS_CTRL3D を設定することはできず、DSBCAPS_CTRL3D を DSBCAPS_CTRLPAN と組み合わせることはできない。
- 新規バッファ作成のフラグがサポートされない。
- 作成時にバッファに無音が設定されない。
- IDirectSoundBuffer8 インターフェイスに対して、CreateSoundBuffer で返される IDirectSoundBuffer インターフェイスを問い合わせることができる。
- DSBUFFERDESC 構造体において WAVE_FORMAT_EXTENSIBLE フォーマット タグの設定されている WAV フォーマットは、その有効性がより厳密に確認される。
要件
** ヘッダー:**dsound.h で宣言。
参照