XAPOFX 概述

XAPOFX 是音频效果的集合,可实现在 XAudio2 中使用的 XAPO 接口。 XAPOFX 包含多个效果,以及用于创建效果实例的常见机制。

包含的效果

下表描述了 XAPOFX 中包含的效果。

效果 说明 参数结构 参数常量 要求
FXECHO 回声效果。 FXECHO_PARAMETERS FXECHO 常量 仅支持 FLOAT32 音频格式。
FXEQ 四波段均衡器。 FXEQ_PARAMETERS FXEQ 常量 仅支持 FLOAT32 音频格式。 采样率必须介于 22,000 Hz 和 48,000 Hz 之间。
FXMasteringLimiter 卷限制器。 FXMASTERINGLIMITER_PARAMETERS FXMASTERINGLIMIT 常量 仅支持 FLOAT32 音频格式。
FXReverb 简单的混响效果。
XAudio2 还提供实现普林斯顿数字混响的效果,该混响可以使用 XAudio2CreateReverb 实例化。
FXREVERB_PARAMETERS FXREVERB 常量 仅支持 FLOAT32 音频格式。 此外,它仅支持单声道输入到单声道输出,以及立体声输入到立体声输出。

 

创建 XAPOFX 中包含的效果的实例

XAPOFX 提供 CreateFX 函数作为创建效果实例的常用机制。 CreateFX 采用效果的 CLSID,并返回指向该效果实例的 IUnknown 接口指针。

在 XAudio2 中使用 XAPOFX

使用 CreateFX 实例化的效果通过将其附加到语音在 XAudio2 中使用。 每个 XAudio2 语音都有一个包含零个或多个音频效果的效果链。 发送到语音的音频数据在发送到语音的输出目标之前,将通过链中的每个效果传递。 语音获取每个效果的输出,并将其馈送至链中的下一个效果,直到链中没有留下任何效果。 若要将 XAPOFX 效果附加到 XAudio2 语音,请使用效果的信息填写 XAUDIO2_EFFECT_CHAIN 结构,并将其传递给 IXAudio2Voice::SetEffectChain

有关 XAudio2 效果链的详细信息,请参阅 XAudio2 音频效果

有关在 XAudio2 中使用 XAPOFX 的示例,请参阅 如何:在 XAudio2 中使用 XAPOFX

XAudio2 隐式效果

除了 XAPOFX 提供的 XPO 库外,XAudio2 还具有内置的混响和音量计音频效果。 可以使用 XAudio2CreateReverbXAudio2CreateVolumeMeter 创建这些内置效果。 有关使用这些内置效果之一的示例,请参阅 如何:创建效果链

音频效果