次の方法で共有


サウンドのミキシング

同時に再生されるセカンダリ バッファーは、プライマリ バッファーで自動的にミキシングされます。Windows Driver Model では、ミキシングはカーネル ミキサーで実行されます。各セカンダリ バッファーにはそれぞれ別々の WAV フォーマットがあり (たとえば各種サンプリング レート)、サウンドは必要に応じてプライマリ バッファーまたはカーネル ミキサーのフォーマットに変換されます。

VXD ドライバーでは、アプリケーションのサウンドがすべて同じ WAV フォーマットを使用していて、ハードウェア出力フォーマットがそのサウンドのフォーマットと一致している場合、DirectSound ミキサーは最高のサウンド品質を生成します。その場合、ミキサーはフォーマット変換を実行する必要がありません。アプリケーションでは、プライマリ サウンド バッファー オブジェクトを作成して、IDirectSoundBuffer8::SetFormat メソッドを呼び出すことでハードウェア出力フォーマットを変更できます。変更するには、優先度の高い協力型レベル が必要です。セカンダリ バッファーを作成する前に、プライマリ バッファーのフォーマットを設定する必要があります。DirectSound は、アプリケーションが入力フォーカスを取得するたびに、ハードウェアのフォーマットを最後の呼び出しに指定されているフォーマットにリストアします。

WDM ドライバーに対しては、プライマリ バッファーのフォーマットを設定しても効果はありません。フォーマットはカーネル ミキサーによって決定されます。詳細については、「DirectSound ドライバー モデル」を参照してください。