IXAudio2Voice::D isableEffect 方法 (xaudio2.h)

禁用语音效果链中给定位置处的效果。

语法

\\HRESULT DisableEffect(
  [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 的任何调用都会使效果链停止满足这些要求,都将失败。

禁用效果会立即将其从处理图中删除。 效果中任何挂起的音频(如混响尾部)都不会播放。 当承载它的语音正在运行时,请小心禁用效果。 如果效果显著改变音频的音调或音量,则可能会导致可听见的伪像。

OperationSetXAUDIO2_COMMIT_NOW 的 XAudio2 回调调用 DisableEffect 时立即生效。

平台要求

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

要求

要求
目标平台 Windows
标头 xaudio2.h

另请参阅

IXAudio2Voice

XAPO 概述