Share via


Fonction XAudio2CreateReverb (xaudio2fx.h)

Crée un objet de traitement audio de réverbération (APO) et retourne un pointeur vers celui-ci.

Syntaxe

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

Paramètres

[in, out] ppApo

Contient un pointeur vers l’apo de réverbération créé.

[in] DEFAULT

Indicateurs qui spécifient le comportement de l’APO. La valeur de ce paramètre doit être 0.

Valeur retournée

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

XAudio2CreateReverb crée un effet exécutant une réverbération numérique de Princeton. La bibliothèque d’effets XAPO (XAPOFX) inclut un autre effet de réverbération. Utilisez CreateFX pour créer cet effet alternatif.

La réverbération APO prise en charge a les restrictions suivantes :

  • Les données audio d’entrée doivent être FLOAT32.
  • La fréquence d’images doit être comprise entre XAUDIO2FX_REVERB_MIN_FRAMERATE (20 000 Hz) et XAUDIO2FX_REVERB_MAX_FRAMERATE (48 000 Hz).
  • Les canaux d’entrée et de sortie doivent être l’une des combinaisons suivantes.
    • Entrée mono et sortie mono
    • Entrée mono et sortie 5.1
    • Entrée stéréo et sortie stéréo
    • Entrée stéréo et sortie 5.1
L’APO de réverbération conserve les informations d’état internes entre les exemples de traitement. Vous ne pouvez utiliser une instance de l’APO qu’avec une source de données audio à la fois. Plusieurs voix qui nécessitent des effets de réverbération doivent chacune créer un effet de réverbération distinct avec XAudio2CreateReverb.

Pour plus d’informations sur la création d’effets à utiliser avec XAudio2, consultez vue d’ensemble de XAPO.

Windows
Étant donné que XAudio2CreateReverb appelle CoCreateInstance sur Windows, l’application doit avoir appelé la méthode CoInitializeEx avant d’appeler XAudio2CreateReverb. XAudio2Create a la même exigence, ce qui signifie que CoInitializeEx est généralement appelé bien avant l’appel de XAudio2CreateReverb .

Un modèle d’appel classique sur Windows serait le suivant :

#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);

 

L’en-tête xaudio2fx.h définit le GUID de la classe AudioReverb en tant qu’objet de traitement audio multiplateforme (XAPO).

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

XAudio2CreateReverb retourne cet objet en tant que pointeur vers un pointeur vers IUnknown dans le paramètre ppApo . Bien que vous puissiez interroger les interfaces IXAPO et IXAPOParameters à partir de cet IUnknown, vous n’utilisez généralement jamais ces interfaces directement. Au lieu de cela, vous les utilisez lorsque vous créez une voix pour les ajouter dans le cadre de la chaîne d’effets.

La réverbération utilise la structure de paramètres XAUDIO2FX_REVERB_PARAMETERS à laquelle vous accédez via IXAudio2Voice::SetEffectParameters.

RemarqueXAudio2CreateReverb est une fonction inline dans xaudio2fx.h qui appelle la syntaxe CreateAudioReverb: '''

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>