次の方法で共有


IXAudio2VoiceCallback::OnBufferStart メソッド

ボイスが新しいオーディオ バッファーの処理を開始しようとするときに呼び出されます。

構文

virtual void OnBufferStart(         void *pBufferContext) = 0

パラメーター

  • pBufferContext
    バッファーが送信されたときに XAUDIO2_BUFFER 構造体のpContext メンバーに割り当てられたコンテキスト ポインターです。

戻り値

なし。

解説 

pBufferContext は、最初に XAUDIO2_BUFFER 構造体の pContext メンバーから提供されるコンテキスト ポインターで、NULL の場合もあります。

OnBufferStart は、現在のバッファーの先頭バイトが消費される直前に必ず呼び出されます。このコールバックは、ボイス状態に次のような変更を加えるのに適しています。

  • 新しいバッファーをボイスに送信する

  • ボイスのボリューム、ピッチ、およびエフェクトのパラメーターを調整する

  • ボイスのエフェクト チェーン内のエフェクトを有効または無効にする

上記のすべての操作は、XAudio2 コールバックで実行されるときは同期式であるため、これらの変更内容は直ちに適用され、これから開始されるバッファーに反映されます。

このコールバックを使用してオーディオ データをバッファーに直接書き込んでも問題ないため、低遅延ストリーミングを行う場合に便利です。ただし、すべての XAudio2 コールバックと同様に、大量のプロセッサ時間を消費する作業や、実行をブロックする可能性のある作業を実行してはいけません。これらの例としては、ディスクまたはネットワークの同期読み取りが挙げられます。

IXAudio2VoiceCallback インターフェイス メソッドの詳細については、「XAudio2 のコールバック」を参照してください。

要件

ヘッダー: xaudio2.h で宣言されています。

関連項目

IXAudio2VoiceCallback
XAudio2 のコールバック
方法 : ソース ボイスのコールバックの使用