Freigeben über


IXAudio2Voice::SetEffectChain-Methode (xaudio2.h)

Ersetzt die Effektkette der Stimme.

Syntax

\\HRESULT SetEffectChain(
  [in, optional] const XAUDIO2_EFFECT_CHAIN *pEffectChain
);

Parameter

[in, optional] pEffectChain

Zeiger auf eine XAUDIO2_EFFECT_CHAIN Struktur, die die zu verwendende neue Effektkette beschreibt. Wenn NULL übergeben wird, wird die aktuelle Effektkette entfernt.

Hinweis Wenn pEffectChain nicht NULL ist, muss die XAUDIO2_EFFECT_CHAIN Struktur, auf die sie verweist, mindestens einen Effekt angeben.
 

Rückgabewert

Gibt bei erfolgreicher Ausführung S_OK zurück. andernfalls ein Fehlercode.

Beschreibungen von XAudio2-spezifischen Fehlercodes finden Sie unter XAudio2-Fehlercodes.

Hinweise

Die Anzahl der für die Effektkette einer Stimme zulässigen Ausgabekanäle ist bei der Erstellung der Stimme gesperrt. Wenn Sie die Stimme mit einer Effektkette erstellen, muss jede neue Effektkette, die an SetEffectChain übergeben wird, die gleiche Anzahl von Eingabe- und Ausgabekanälen wie die ursprüngliche Effektkette aufweisen. Wenn Sie die Stimme ohne Effektkette erstellen, wird die Anzahl der für die Effektkette zulässigen Ausgabekanäle standardmäßig auf die Anzahl der Eingabekanäle für die Stimme festgelegt. Wenn ein Teil der Effektkettenerstellung fehlschlägt, wird nichts davon angewendet.

Nachdem Sie einen Effekt an eine XAudio2-Stimme angefügt haben, übernimmt XAudio2 die Kontrolle über den Effekt, und der Client sollte keine weiteren Aufrufe daran tätigen. Die einfachste Möglichkeit, dies sicherzustellen, besteht darin, alle Zeiger auf den Effekt freizugeben.

Es ist ungültig, SetEffectChain innerhalb eines Rückrufs (also IXAudio2EngineCallback oder IXAudio2VoiceCallback) aufzurufen. Wenn Sie SetEffectChain innerhalb eines Rückrufs aufrufen, wird XAUDIO2_E_INVALID_CALL zurückgegeben.

Die XAUDIO2_EFFECT_CHAIN , die als pEffectChain-Argument übergeben wird, und alle darin enthaltenen XAUDIO2_EFFECT_DESCRIPTOR Informationen werden nach dem erfolgreichen Abschluss von SetEffectChain nicht mehr benötigt und können sofort nach dem Aufruf von SetEffectChain gelöscht werden.

Plattformanforderungen

Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile xaudio2.h

Weitere Informationen

So wird's gemacht: Erstellen einer Effektkette

IXAudio2Voice

XAPO–Übersicht