XAudio2CreateReverb-Funktion (xaudio2fx.h)

Erstellt ein neues Reverb-Audioverarbeitungsobjekt (APO) und gibt einen Zeiger darauf zurück.

Syntax

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

Parameter

[in, out] ppApo

Enthält einen Zeiger auf den erstellten Hall-APO.

[in] DEFAULT

Flags, die das Verhalten des APO angeben. Der Wert dieses Parameters muss 0 sein.

Rückgabewert

Wenn diese Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

XAudio2CreateReverb erstellt einen Effekt, der Princeton Digital Reverb ausführt. Die XAPO-Effektbibliothek (XAPOFX) enthält einen alternativen Halleffekt. Verwenden Sie CreateFX , um diesen alternativen Effekt zu erstellen.

Für die reverb APO-Unterstützung gelten die folgenden Einschränkungen:

  • Audioeingabedaten müssen FLOAT32 werden.
  • Die Framerate muss innerhalb XAUDIO2FX_REVERB_MIN_FRAMERATE (20.000 Hz) und XAUDIO2FX_REVERB_MAX_FRAMERATE (48.000 Hz) betragen.
  • Die Eingangs- und Ausgabekanäle müssen eine der folgenden Kombinationen sein.
    • Mono-Eingang und Mono-Ausgabe
    • Mono-Eingang und 5.1-Ausgabe
    • Stereoeingang und Stereoausgang
    • Stereoeingang und 5.1-Ausgang
Der Hall-APO verwaltet interne Zustandsinformationen zwischen Verarbeitungsbeispielen. Sie können nur eine instance des APO mit jeweils einer Quelle von Audiodaten verwenden. Mehrere Stimmen, die Halleffekte erfordern, müssen jeweils einen separaten Halleffekt mit XAudio2CreateReverb erstellen.

Informationen zum Erstellen neuer Effekte für die Verwendung mit XAudio2 finden Sie in der XAPO-Übersicht.

Windows
Da XAudio2CreateReverbCoCreateInstance unter Windows aufruft, muss die Anwendung die CoInitializeEx-Methode aufgerufen haben, bevor sie XAudio2CreateReverb aufruft. XAudio2Create hat die gleiche Anforderung, was bedeutet, dass CoInitializeEx in der Regel lange aufgerufen wird, bevor XAudio2CreateReverb aufgerufen wird.

Ein typisches Aufrufmuster unter Windows lautet wie folgt:

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

 

Der xaudio2fx.h-Header definiert die GUID der AudioReverb-Klasse als plattformübergreifendes Audioverarbeitungsobjekt (Cross-Platform Audio Processing Object, XAPO).

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

XAudio2CreateReverb gibt dieses Objekt als Zeiger auf einen Zeiger auf IUnknown im ppApo-Parameter zurück. Obwohl Sie die IXAPO - und IXAPOParameters-Schnittstellen von diesem IUnknown abfragen können, verwenden Sie diese Schnittstellen in der Regel nie direkt. Stattdessen verwenden Sie sie, wenn Sie eine Stimme erstellen, um sie als Teil der Effektkette hinzuzufügen.

Der Reverb verwendet die XAUDIO2FX_REVERB_PARAMETERS Parameterstruktur, auf die Sie über IXAudio2Voice::SetEffectParameters zugreifen.

HinweisXAudio2CreateReverb ist eine Inlinefunktion in xaudio2fx.h, die CreateAudioReverb aufruft: Syntax '''

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>