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 的 Flags 引數再次呼叫 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 |