Microsoft DirectX 8.0 (Visual Basic)

サウンドのミキシング

DirectSound で複数のストリームをミキシングするのは簡単である。単純にセカンダリ サウンド バッファを作成し、各サウンドに対する DirectSoundSecondaryBuffer8 オブジェクトを取得するだけである。次にそれらのバッファを同時に再生する。DirectSound はプライマリ サウンド バッファでのミキシングを処理し、その結果を再生する。

アプリケーション内のすべてのサウンドが同じウェーブ フォーマットを使用し、ハードウェア出力フォーマットがそれらのサウンドのフォーマットと一致している場合、DirectSound ミキサは最高の品質のサウンドをもたらす。この場合、ミキサはフォーマット変換をする必要がない。

ハードウェア出力フォーマットを変更するには、プライマリ サウンド バッファを作成し、DirectSoundPrimaryBuffer8.SetFormat メソッドを呼び出す。SetFormat メソッドを呼び出すために、DSSCL_PRIORITY またはそれ以上の協調レベルを設定する必要がある。アプリケーションが入力フォーカスを取得するたびに、DirectSound はハードウェア フォーマットを、前回の呼び出しで指定されたフォーマットに復元する。

セカンダリ バッファを作成する前に、プライマリ バッファのフォーマットを設定しなければならない。

  WDM ドライバを使う場合は、プライマリ バッファのフォーマットを設定しても効果がない。フォーマットはカーネル ミキサによって決定される。詳細については、「DirectSound ドライバ モデル」を参照すること。