XAudio2 ストリーミング オーディオ データ
ストリーミングは、再生中のオーディオ ファイルのごく一部のみをメモリに保持するプロセスです。 これにより、バックグラウンド ミュージックなどの大きなオーディオ ファイルを再生でき、大量のメモリを占有することはできません。
オーディオ ファイルがストリーミングされると、ファイル全体を一度に読み込むのではなく、データがディスクからチャンクで読み取られます。 ストリーミングは、オーディオ データをディスク バッファーのキューに非同期的に読み取ることによって実現されます。 各バッファーが入力され、ソース音声に送信されます。 音声がバッファーの再生を終了すると、バッファーが再び読み取り可能になります。 この方法でディスク バッファーをループ処理すると、データの一部のみが読み込まれる間に、大きなオーディオ ファイルを再生できます。 ストリーミング コードは別のスレッドに配置する必要があります。このスレッドは、長時間実行されるディスクとオーディオ操作の完了を待っている間にスリープ状態にすることができます。 コールバック クラスは、オーディオ操作が完了したときにイベントをトリガーしてスレッドをウェイクするために使用されます。
XAudio2 でストリーミングを実行する方法の例については、「 方法: ディスクからサウンドをストリーミングする」を参照してください。
関連トピック