IXAudio2VoiceCallback::OnStreamEnd メソッド
ボイスが連続オーディオ ストリームの再生を終了したときに呼び出されます。
構文
virtual void OnStreamEnd() = 0
戻り値
なし。
解説
OnStreamEnd は、XAUDIO2_END_OF_STREAM フラグが設定された XAUDIO2_BUFFER を XAudio2 が処理するときにトリガーされます。詳細については、IXAudio2SourceVoice::SubmitSourceBuffer メソッドを参照してください。
OnStreamEnd のコールバックは、XAudio2 で、ボイスに送信された最終バッファーの消費が完了したことを示します。OnStreamEnd が呼び出された後のオーディオの状態は、処理されているオーディオ データの型 (PCM、XMA、および WMA) によって異なります。PCM データの場合、すべてのオーディオが再生されたことが保証され、ボイスを安全に停止または破棄できます。XMA および WMA データの場合、オーディオ データは、コールバックの後に処理され、バッファーに関連付けられているメモリーを解放できますが、オーディオは必ずしも再生が完了しているわけではありません。ボイスが中断しないようにするには、ボイスを停止または破棄する前に、サンプル内の最終バッファーの長さまで時間が経過するのを待ちます。
OnStreamEnd のコールバックは、XAUDIO2_END_OF_STREAM フラグが設定された XAUDIO2_BUFFER が処理されたことを示すだけです。このコールバックは情報提供のみを目的としており、このコールバックによって、これをトリガーしたソース ボイスの状態が変更されることはありません。ボイスは、IXAudio2SourceVoice::Stop が呼び出されるまで開始状態のままとなり、引き続き、送信されたソース バッファーを再生し、追加コールバックをトリガーします。
OnStreamEnd は、現在のバッファーの最終バイトが消費された直後に必ず呼び出されます。
IXAudio2VoiceCallback インターフェイス メソッドの詳細については、「XAudio2 のコールバック」を参照してください。
要件
ヘッダー: xaudio2.h で宣言されています。
関連項目
IXAudio2VoiceCallback
XAudio2 のコールバック
方法 : ソース ボイスのコールバックの使用