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


Обзор 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 также предоставляет эффект реализации Принстонского цифрового реверберации, экземпляр которого можно создать с помощью 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. Пример использования одного из этих встроенных эффектов см. в разделе Практическое руководство. Создание цепочки эффектов.

Звуковые эффекты