次の方法で共有


IXAudio2SourceVoice::Stop メソッド (xaudio2.h)

現在の音声による音声の消費を停止します。

構文

HRESULT Stop(
  [in] UINT32 Flags,
  [in] UINT32 OperationSet
);

パラメーター

[in] Flags

音声の停止方法を制御するフラグ。 0 または次の値を指定できます。

説明
XAUDIO2_PLAY_TAILS 音声が停止した後も効果出力を続けます。 

[in] OperationSet

この呼び出しを遅延バッチの一部として識別します。 詳細については、「 XAudio2 操作セット の概要」を参照してください。

戻り値

成功した場合はS_OKを返し、それ以外の場合はエラー コードを返します。 XAudio2 固有のエラー コードの説明については、「XAudio2 エラー コード」を参照してください。

解説

音声と現在のカーソル位置でキューに登録されているすべてのソース バッファーが保持されます。 これにより、再起動時に、中断した場所から音声を続行できます。 IXAudio2SourceVoice::FlushSourceBuffers メソッドを使用して、キューに入ったソース バッファーをフラッシュできます。

既定では、リバーブ テールなどの音声効果からの保留中の出力は再生されません。 代わりに、音声はすぐにサイレントにレンダリングされます。 XAUDIO2_PLAY_TAILS フラグを使用すると、音声の実行が停止した後も効果出力を出力し続けることができます。

XAUDIO2_PLAY_TAILS フラグで停止した音声はソース バッファーの使用を停止しますが、その効果の処理を続行し、宛先の音声に音声を送信します。 この状態の音声は、Flags 引数を 0 に設定して Stop を再度呼び出すことで、後で完全に停止できます。 これにより、XAUDIO2_PLAY_TAILSを使用して音声を停止し、効果によって生成されるオーディオが終了するまで十分な時間を待機した後、XAUDIO2_PLAY_TAILSせずに Stop を再度呼び出して音声を完全に停止できます。 この手法を使用すると、効果を持つ音声を正常に停止しながら、アイドル状態の音声がオーディオの生成が完了した後も処理が続行されないようにすることができます。

コールバック 内で呼び出された場合でも、Stop は常に非同期です。

メモ XAudio2 は、音声が停止している場合 (XAUDIO2_PLAY_TAILSで停止した場合でも) 音声の音声コールバックを呼び出すことはありません。
 

プラットフォームの要件

Windows 10 (XAudio2.9);Windows 8、Windows Phone 8 (XAudio 2.8);DirectX SDK (XAudio 2.7)

要件

   
対象プラットフォーム Windows
ヘッダー xaudio2.h

関連項目

IXAudio2SourceVoice

XAPO 概要