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 还具有内置的混响和音量计音频效果。 可以使用 XAudio2CreateReverb 和 XAudio2CreateVolumeMeter 创建这些内置效果。 有关使用这些内置效果之一的示例,请参阅 如何:创建效果链 。
相关主题