Функция XAudio2CreateReverb (xaudio2fx.h)
Создает новый объект реверберации аудиообъекта (APO) и возвращает указатель на него.
Синтаксис
HRESULT XAudio2CreateReverb(
[in, out] IUnknown **ppApo,
[in] UINT32 Flags DEFAULT
);
Параметры
[in, out] ppApo
Содержит указатель на созданный объект APO реверберации.
[in] DEFAULT
Флаги, указывающие поведение объекта APO. Значение этого параметра должно быть равно 0.
Возвращаемое значение
Если эта функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
XAudio2CreateReverb создает эффект выполнения Принстонского цифрового реверберации. Библиотека эффектов XAPO (XAPOFX) включает альтернативный эффект реверберации. Используйте CreateFX для создания этого альтернативного эффекта.
Объект реверберации APO поддерживает следующие ограничения:
- Входные звуковые данные должны быть FLOAT32.
- Частота кадров должна быть в пределах XAUDIO2FX_REVERB_MIN_FRAMERATE (20 000 Гц) и XAUDIO2FX_REVERB_MAX_FRAMERATE (48 000 Гц).
- Входной и выходной каналы должны быть одним из следующих сочетаний.
- Моно входные и моно выходные данные
- Моно входные и выходные данные 5.1
- Стереовходы и стерео выходные данные
- Стереовход и выход 5.1
Сведения о создании новых эффектов для использования с XAudio2 см. в обзоре XAPO.
Windows |
---|
Так как XAudio2CreateReverb вызывает CoCreateInstance в Windows, приложение должно вызвать метод CoInitializeEx перед вызовом XAudio2CreateReverb. XAudio2Create имеет то же требование, что означает, что CoInitializeEx обычно вызывается задолго до вызова XAudio2CreateReverb .
Типичный шаблон вызова в Windows выглядит следующим образом:
|
Заголовок xaudio2fx.h определяет GUID класса AudioReverb как кроссплатформенный объект обработки звука (XAPO).
class __declspec(uuid("C2633B16-471B-4498-B8C5-4F0959E2EC09")) AudioReverb;
XAudio2CreateReverb возвращает этот объект в качестве указателя на IUnknown в параметре ppApo . Хотя вы можете запрашивать интерфейсы IXAPO и IXAPOParameters из этого IUnknown, эти интерфейсы обычно никогда не используются напрямую. Вместо этого вы используете их при создании голоса, чтобы добавить их как часть цепочки эффектов.
Реверберация использует структуру XAUDIO2FX_REVERB_PARAMETERS параметров, доступ к которым осуществляется через IXAudio2Voice::SetEffectParameters.
XAUDIO2FX_STDAPI CreateAudioReverb(Outptr IUnknown** ppApo); __inline HRESULT XAudio2CreateReverb(Outptr IUnknown** ppApo, UINT32 /Flags/ DEFAULT(0)) { return CreateAudioReverb(ppApo); }
</div>
<div> </div>
<h3><a id="Platform_Requirements"></a><a id="platform_requirements"></a><a id="PLATFORM_REQUIREMENTS"></a>Platform Requirements</h3>
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)
## Requirements
| Requirement | Value |
| ---- |:---- |
| **Target Platform** | Windows |
| **Header** | xaudio2fx.h |
| **Library** | Xaudio2.lib |
| **DLL** | Windows.Media.Audio.dll |
## See also
<a href="/windows/desktop/xaudio2/how-to--create-an-effect-chain">How to: Create an Effect Chain</a>
<a href="/windows/desktop/api/xaudio2/nf-xaudio2-ixaudio2voice-seteffectparameters">IXAudio2Voice::SetEffectParameters</a>
<a href="/windows/desktop/api/xaudio2fx/ns-xaudio2fx-xaudio2fx_reverb_parameters">XAUDIO2FX_REVERB_PARAMETERS</a>
<a href="/windows/desktop/xaudio2/functions">XAudio2 Functions</a>