Partager via


IXAudio2Voice ::SetEffectChain, méthode (xaudio2.h)

Remplace la chaîne d’effets de la voix.

Syntaxe

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

Paramètres

[in, optional] pEffectChain

Pointeur vers une structure XAUDIO2_EFFECT_CHAIN qui décrit la nouvelle chaîne d’effets à utiliser. Si null est passé, la chaîne d’effets actuelle est supprimée.

Note Si pEffectChain n’a pas la valeur NULL, la structure XAUDIO2_EFFECT_CHAIN vers laquelle il pointe doit spécifier au moins un effet.
 

Valeur retournée

Retourne S_OK en cas de réussite ; sinon, un code d’erreur.

Consultez Codes d’erreur XAudio2 pour obtenir une description des codes d’erreur spécifiques à XAudio2.

Remarques

Le nombre de canaux de sortie autorisés pour la chaîne d’effets d’une voix est verrouillé lors de la création de la voix. Si vous créez la voix avec une chaîne d’effets, toute nouvelle chaîne d’effets passée à SetEffectChain doit avoir le même nombre de canaux d’entrée et de sortie que la chaîne d’effet d’origine. Si vous créez la voix sans chaîne d’effets, le nombre de canaux de sortie autorisés pour la chaîne d’effets est défini par défaut sur le nombre de canaux d’entrée pour la voix. Si une partie de la création de la chaîne d’effets échoue, aucune de ces parties n’est appliquée.

Après avoir attaché un effet à une voix XAudio2, XAudio2 prend le contrôle de l’effet, et le client ne doit pas y effectuer d’autres appels. Le moyen le plus simple de s’en assurer consiste à libérer tous les pointeurs vers l’effet.

Il n’est pas valide d’appeler SetEffectChain à partir d’un rappel (autrement dit, IXAudio2EngineCallback ou IXAudio2VoiceCallback). Si vous appelez SetEffectChain dans un rappel, il retourne XAUDIO2_E_INVALID_CALL.

Le XAUDIO2_EFFECT_CHAIN passé en tant qu’argument pEffectChain et les informations XAUDIO2_EFFECT_DESCRIPTOR qu’il contient ne sont plus nécessaires une fois setEffectChain terminé, et peuvent être supprimés immédiatement après l’appel de SetEffectChain .

Configuration requise pour la plateforme

Windows 8, Windows Phone 8 (XAudio 2.8) ; Kit de développement logiciel (SDK) DirectX (XAudio 2.7)

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête xaudio2.h

Voir aussi

Procédure : Créer une chaîne d’effets

IXAudio2Voice

Vue d’ensemble de XAPO