Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erstellt ein neues Hallaudioverarbeitungsobjekt (APO) und gibt einen Zeiger darauf zurück.
Syntax
HRESULT XAudio2CreateReverb(
[in, out] IUnknown **ppApo,
[in] UINT32 Flags DEFAULT
);
Die Parameter
[in, out] ppApo
Enthält einen Zeiger auf das hallige APO, das erstellt wird.
[in] DEFAULT
Flags, die das Verhalten der APO angeben. Der Wert dieses Parameters muss 0 sein.
Rückgabewert
Wenn diese Funktion erfolgreich ist, wird S_OKzurückgegeben. Andernfalls wird ein HRESULT- Fehlercode zurückgegeben.
Bemerkungen
XAudio2CreateReverb erzeugt einen Effekt, der Denkeffekt von Princeton Digital Reverb bewirkt. Die XAPO-Effektbibliothek (XAPOFX) enthält einen alternativen Halleffekt. Verwenden Sie CreateFX , um diesen alternativen Effekt zu erstellen.
Das Hallen-APO unterstützt die folgenden Einschränkungen:
- Eingabeaudiodaten müssen FLOAT32 werden.
- Die Framerate muss innerhalb XAUDIO2FX_REVERB_MIN_FRAMERATE (20.000 Hz) und XAUDIO2FX_REVERB_MAX_FRAMERATE (48.000 Hz) sein.
- Die Eingabe- und Ausgabekanäle müssen eine der folgenden Kombinationen sein:
- Mono-Eingang und Mono-Ausgabe
- Mono-Eingang und 5,1-Ausgabe
- Stereoeingabe und Stereoausgabe
- Stereo-Eingang und 5.1-Ausgabe
Informationen zum Erstellen neuer Effekte für die Verwendung mit XAudio2 finden Sie in der XAPO-Übersicht.
| Fenster |
|---|
|
Da XAudio2CreateReverbCoCreateInstance unter Windows aufruft, muss die Anwendung die CoInitializeEx-Methode aufgerufen haben, bevor XAudio2CreateReverb aufgerufen wird.
XAudio2Create hat dieselbe Anforderung, was bedeutet, dass CoInitializeEx normalerweise lange aufgerufen wird, bevor XAudio2CreateReverb aufgerufen wird.
Ein typisches Anrufmuster unter Windows wäre wie folgt:
|
Der xaudio2fx.h-Header definiert die GUID der AudioReverb-Klasse als plattformübergreifendes Audioverarbeitungsobjekt (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 Halleffekt verwendet die XAUDIO2FX_REVERB_PARAMETERS Parameterstruktur, auf die Sie über die IXAudio2Voice::SetEffectParameters zugreifen.
Hinweis
XAudio2CreateReverb ist eine Inlinefunktion in xaudio2fx.h, die CreateAudioReverb aufruft, wie im folgenden Codebeispiel veranschaulicht.
XAUDIO2FX_STDAPI CreateAudioReverb(_Outptr_ IUnknown** ppApo);
__inline HRESULT XAudio2CreateReverb(_Outptr_ IUnknown** ppApo, UINT32 /*Flags*/ DEFAULT(0))
{
return CreateAudioReverb(ppApo);
}
Plattformanforderungen
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform | Fenster |
| Kopfzeile | xaudio2fx.h |
| Bibliothek | Xaudio2.lib |
| DLL | Windows.Media.Audio.dll |
Siehe auch
Gewusst wie: Erstellen einer Effektkette