Поделиться через


Обзор XAPOFX

XAPOFX — это коллекция звуковых эффектов, реализующих интерфейсы XAPO для использования в XAudio2. XAPOFX содержит несколько эффектов и общий механизм для создания экземпляров этих эффектов.

Включенные эффекты

В следующей таблице описываются эффекты, включенные в XAPOFX.

Эффект Описание Структура параметров Константы параметров Требования
FXECHO Эффект эха. FXECHO_PARAMETERS константы FXECHO Поддерживает только FLOAT32 аудиоформаты.
FXEQ Четырехполосный эквалайзер. FXEQ_PARAMETERS константы FXEQ Поддерживает только FLOAT32 аудиоформаты. Частота выборки должна составлять от 22 000 Гц до 48 000 Гц.
FXMasteringLimiter Ограничитель громкости. FXMASTERINGLIMITER_PARAMETERS константы FXMASTERINGLIMIT Поддерживает только FLOAT32 аудиоформаты.
FXReverb Простой эффект ревербации.
XAudio2 предоставляет эффект реверберации, реализованный компанией Princeton Digital Reverb, который можно создать с помощью XAudio2CreateReverb.
FXREVERB_PARAMETERS константы FXREVERB Поддерживает только FLOAT32 аудиоформаты. Кроме того, он поддерживает только моно входные данные к моно выходу и стерео входные данные к стерео выходу.

 

Создание экземпляра эффекта, включенного в XAPOFX

XAPOFX предоставляет функцию CreateFX в качестве общего механизма создания экземпляров эффектов. CreateFX принимает CLSID эффекта и возвращает указатель интерфейса IUnknown на экземпляр этого эффекта.

Использование XAPOFX в XAudio2

Эффекты, созданные с помощью CreateFX, используются в XAudio2, присоединяя их к голосам. Каждый голос XAudio2 имеет цепочку эффектов, содержащую ноль или больше звуковых эффектов. Звуковые данные, отправляемые голосу, передаются по каждому эффекту в цепочке перед отправкой в целевые объекты вывода голоса. Голос принимает выходные данные каждого эффекта и передает его в следующий эффект в цепочке, пока в цепочке не останется ни одного эффекта. Чтобы подключить эффект XAPOFX к голосу XAudio2, заполните структуру XAUDIO2_EFFECT_CHAIN информацией эффекта и передайте ее в IXAudio2Voice::SetEffectChain.

Дополнительные сведения о цепочках эффектов XAudio2 см. в разделе Аудиоэффекты XAudio2.

Пример использования XAPOFX в XAudio2 см. в разделе Практическое руководство. Использование XAPOFX в XAudio2.

Неявные эффекты XAudio2

Помимо библиотеки XAPOs, предоставляемой XAPOFX, XAudio2 имеет встроенные аудиоэффекты реверберации и измерения громкости. Эти встроенные эффекты можно создать с помощью XAudio2CreateReverb и XAudio2CreateVolumeMeter. См. Как создать цепочку эффектов для примера использования одного из этих встроенных эффектов.

Аудиоэффекты