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::EnableEffectIXAudio2Voice::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

另请参阅

IXAudio2Voice

XAPO 概述