共用方式為


IXAudio2Voice::SetEffectChain 方法 (xaudio2.h)

取代語音的效果鏈結。

語法

\\HRESULT SetEffectChain(
  [in, optional] const XAUDIO2_EFFECT_CHAIN *pEffectChain
);

參數

[in, optional] pEffectChain

描述要使用的新效果鏈結 之XAUDIO2_EFFECT_CHAIN 結構的指標。 如果傳遞 NULL,則會移除目前的效果鏈結。

注意 如果 pEffectChain 不是 NULL,則指向的 XAUDIO2_EFFECT_CHAIN 結構必須至少指定一個效果。
 

傳回值

如果成功,則傳回S_OK;否則為錯誤碼。

如需 XAudio2 特定錯誤碼的描述,請參閱 XAudio2 錯誤 碼。

備註

語音效果鏈結允許的輸出通道數目會在建立語音時鎖定。 如果您使用效果鏈結建立語音,傳遞至 SetEffectChain 的任何新效果鏈結都必須具有與原始效果鏈結相同的輸入和輸出通道數目。 如果您建立沒有效果鏈結的語音,效果鏈結所允許的輸出通道數目會預設為語音的輸入通道數目。 如果效果鏈結建立的任何部分失敗,則不會套用任何部分。

將效果附加至 XAudio2 語音之後,XAudio2 會控制效果,而且客戶端不應該對它進行任何進一步的呼叫。 若要確保這一點,最簡單的方式是釋放效果的所有指標。

從回呼 (呼叫 SetEffectChain 無效,也就是 IXAudio2EngineCallbackIXAudio2VoiceCallback) 。 如果您在回呼內呼叫 SetEffectChain ,它會傳回XAUDIO2_E_INVALID_CALL。

做 pEffectChain 自變數傳入的XAUDIO2_EFFECT_CHAIN,且在 SetEffectChain 成功完成之後,就不再需要內含的任何XAUDIO2_EFFECT_DESCRIPTOR資訊,而且可能會在呼叫 SetEffectChain 之後立即刪除。

平臺需求

Windows 8,Windows Phone 8 (XAudio 2.8) ;DirectX SDK (XAudio 2.7)

規格需求

需求
目標平台 Windows
標頭 xaudio2.h

另請參閱

使用方法:建立效果鏈

IXAudio2Voice

XAPO 概觀