バッファーの基本機能
DirectSound バッファー オブジェクトは、ソースからデスティネーションへの Wave フォーム データの配信を制御します。ソースはシンセサイザー、別のバッファー、WAV ファイル、またはリソースとなります。ほとんどのバッファーに関して、デスティネーションはプライマリ バッファーと呼ばれるミキシング エンジンです。データはプライマリ バッファーからハードウェアに配信され、サンプルが音波に変換されます。
DirectSound バッファーの使用に関する情報は、次のトピックに含まれます。
- セカンダリ バッファーの作成
- バッファーの複製
- バッファー コントロール オプション
- バッファーのアルゴリズム
- 静的バッファーへの格納と再生
- ストリーミング バッファーの使用
- 再生のコントロール
- 再生カーソルと書き込みカーソル
- 再生バッファーの通知
- サウンドのミキシング
- ループ サウンド
- バッファー管理
キャプチャー バッファーの詳細については、「Wave フォームのキャプチャー」を参照してください。
アプリケーションは、個々のサウンドを格納および再生するためのセカンダリ サウンド バッファーを 1 つ以上作成する必要があります。
セカンダリ バッファーは、アプリケーションのライフサイクル全体を通じて使用できますが、必要なくなった時点で破棄することもできます。セカンダリ バッファーは 1 つの短いサウンドを含む静的バッファーとすることも、再生時に新しいデータによって更新されるストリーミング バッファーとすることもできます。メモリーへの負担を制限するために、長いサウンドはデータを数秒しか保持しないストリーミング バッファーを介して再生する必要があります。
サウンドのミキシングは、さまざまなセカンダリ バッファーのサウンドを同時に再生するだけです。セカンダリ バッファーは、処理能力の限界に達しない限り、いくつでも同時に再生できます。
セカンダリ バッファーはすべてが同じように作成されるわけではありません。バッファーのおもな特性は次のとおりです。
- 形式バッファーの形式は、再生する Wave フォームデータの形式と一致しなければなりません。
- 操作方法。各種バッファーはボリューム、周波数、2 つまたは3 つの次元での動きなど、それぞれ別々のコントロールを持ちます。バッファーを作成する場合には、必要なコントロールのみを指定する必要があります。たとえば、3D 環境にないサウンドに 3D バッファーは作成しないでください。
- 場所。バッファーは、ハードウェアによって管理されるメモリーに、またはソフトウェアによって管理されるメモリーに指定できます。ハードウェアのバッファーは、より効率的ですが、数に制限があります。また、ハードウェアのバッファーは、64 ビットのオペレーティング システムではサポートされていません。
関連項目