Compartir a través de


Función XAudio2CreateReverb (xaudio2fx.h)

Crea un nuevo objeto de procesamiento de audio reverberación (APO) y devuelve un puntero a él.

Sintaxis

HRESULT XAudio2CreateReverb(
  [in, out] IUnknown     **ppApo,
  [in]      UINT32 Flags DEFAULT
);

Parámetros

[in, out] ppApo

Contiene un puntero al APO de reverberación que se crea.

[in] DEFAULT

Marcas que especifican el comportamiento del APO. El valor de este parámetro debe ser 0.

Valor devuelto

Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Observaciones

XAudio2CreateReverb crea un efecto que realiza Princeton Digital Reverb. La biblioteca de efectos XAPO (XAPOFX) incluye un efecto de reverberación alternativo. Use CreateFX para crear este efecto alternativo.

El APO de reverberación admite tiene las siguientes restricciones:

  • Los datos de audio de entrada deben ser FLOAT32.
  • La velocidad de fotogramas debe estar dentro de XAUDIO2FX_REVERB_MIN_FRAMERATE (20 000 Hz) y XAUDIO2FX_REVERB_MAX_FRAMERATE (48 000 Hz).
  • Los canales de entrada y salida deben ser una de las siguientes combinaciones.
    • Entrada mono y salida mono
    • Entrada mono y salida 5.1
    • Entrada estéreo y salida estéreo
    • Entrada estéreo y salida 5.1
El APO de reverberación mantiene información de estado interna entre los ejemplos de procesamiento. Solo puede usar una instancia del APO con un origen de datos de audio a la vez. Cada una de las voces que requieren efectos de reverberación tendría que crear un efecto de reverberación independiente con XAudio2CreateReverb.

Para obtener información sobre cómo crear nuevos efectos para su uso con XAudio2, consulte la información general de XAPO.

Windows
Dado que XAudio2CreateReverb llama a CoCreateInstance en Windows, la aplicación debe haber llamado al método CoInitializeEx antes de llamar a XAudio2CreateReverb. XAudio2Create tiene el mismo requisito, lo que significa que se suele llamar a CoInitializeEx mucho antes de llamar a XAudio2CreateReverb .

Un patrón de llamada típico en Windows sería el siguiente:

#ifndef _XBOX
CoInitializeEx(NULL, COINIT_MULTITHREADED);
#endif
IXAudio2* pXAudio2 = NULL;
HRESULT hr;
if ( FAILED(hr = XAudio2Create( &pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR ) ) )
    return hr;
...
IUnknown * pReverbAPO;
XAudio2CreateReverb(&pReverbAPO);

 

El encabezado xaudio2fx.h define el GUID de la clase AudioReverb como un objeto de procesamiento de audio multiplataforma (XAPO).

class __declspec(uuid("C2633B16-471B-4498-B8C5-4F0959E2EC09")) AudioReverb;

XAudio2CreateReverb devuelve este objeto como puntero a un puntero a IUnknown en el parámetro ppApo . Aunque puede consultar las interfaces IXAPO e IXAPOParameters desde este IUnknown, normalmente nunca se usan directamente estas interfaces. En su lugar, los usa al crear una voz para agregarlos como parte de la cadena de efectos.

La reverberación usa la estructura de parámetros XAUDIO2FX_REVERB_PARAMETERS a la que se accede a través de IXAudio2Voice::SetEffectParameters.

NotaXAudio2CreateReverb es una función insertada en xaudio2fx.h que llama a CreateAudioReverb: sintaxis '''

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>