次の方法で共有


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::CreateSoundBufferIDirectSound8::CreateSoundBuffer の呼び出しでは、非モノラル形式のバッファに DSBCAPS_CTRL3D を設定することはできず、DSBCAPS_CTRL3D を DSBCAPS_CTRLPAN と組み合わせることはできない。
  • 新規バッファ作成のフラグがサポートされない。
  • 作成時にバッファに無音が設定されない。
  • IDirectSoundBuffer8 インターフェイスに対して、CreateSoundBuffer で返される IDirectSoundBuffer インターフェイスを問い合わせることができる。
  • DSBUFFERDESC 構造体において WAVE_FORMAT_EXTENSIBLE フォーマット タグの設定されている WAV フォーマットは、その有効性がより厳密に確認される。

要件

**  ヘッダー:**dsound.h で宣言。

参照