IXAudio2Voice::EnableEffect 方法 (xaudio2.h)
在语音效果链中的给定位置启用效果。
语法
\\HRESULT EnableEffect(
[in] UINT32 EffectIndex,
[in] UINT32 OperationSet
);
参数
[in] EffectIndex
语音效果链中效果的从零开始的索引。
[in] OperationSet
将此调用标识为延迟批处理的一部分。 有关详细信息,请参阅 XAudio2 操作集 概述。
返回值
如果成功,则返回S_OK;否则为错误代码。 有关错误代码的说明,请参阅 XAudio2 错误代码。
注解
当承载它的语音正在运行时启用效果时,请小心。 如果效果显著改变音频的音调或音量,则此类操作可能会导致问题。
给定 XAudio2 语音效果链中的效果必须以该语音的处理采样率使用和生成音频。 他们可以更改音频格式的唯一方面是通道计数。 例如,混响效果可将单声道数据转换为 5.1。 客户端可以使用 XAUDIO2_EFFECT_DESCRIPTOR 结构的 OutputChannels 字段来指定它希望每个效果生成的通道数。 效果链中的每个效果都必须生成下一个效果可以使用的通道数。 对 IXAudio2Voice::EnableEffect 或 IXAudio2Voice::D isableEffect 的任何调用都会使效果链停止满足这些要求将失败。
从具有 OperationSet 的 XAudio2 回调调用 EnableEffect 时立即生效,XAUDIO2_COMMIT_NOW。
平台要求
Windows 10 (XAudio2.9) ;Windows 8、Windows Phone 8 (XAudio 2.8) ;DirectX SDK (XAudio 2.7)要求
目标平台 | Windows |
标头 | xaudio2.h |