Partager via


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

Définit les paramètres d’un effet donné dans la chaîne d’effets de la voix.

Syntaxe

\\HRESULT SetEffectParameters(
  [in] UINT32     EffectIndex,
  [in] const void *pParameters,
  [in] UINT32     ParametersByteSize,
  [in] UINT32     OperationSet
);

Paramètres

[in] EffectIndex

Index de base zéro d’un effet dans la chaîne d’effets de la voix.

[in] pParameters

Retourne les valeurs actuelles des paramètres spécifiques à l’effet.

[in] ParametersByteSize

Taille du tableau pParameters en octets.

[in] OperationSet

Identifie cet appel dans le cadre d’un lot différé. Pour plus d’informations, consultez vue d’ensemble des ensembles d’opérations XAudio2 .

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.

Échoue avec E_NOTIMPL si l’effet ne prend pas en charge une interface de contrôle de paramètre générique.

Remarques

L’effet spécifique utilisé détermine la taille et le format valides de la mémoire tampon pParameters . L’appel échoue si pParameters n’est pas valide ou si ParametersByteSize ne correspond pas exactement à la taille attendue par l’effet. Le client doit veiller à diriger l’appel SetEffectParameters vers l’effet correct. Si cet appel est dirigé vers un effet différent qui accepte la même taille de bloc de paramètres, les paramètres seront interprétés différemment. Cela peut entraîner des résultats inattendus.

La mémoire pointée par pParametersne doit pas être libérée immédiatement, car XAudio2 devra y faire référence ultérieurement lorsque les paramètres sont effectivement appliqués à l’effet. Cela se produit lors de la prochaine passe de traitement audio si l’argument OperationSet est XAUDIO2_COMMIT_NOW. Sinon, les paramètres sont appliqués à l’effet ultérieurement, lors du premier passage de traitement après l’appel de la fonction IXAudio2 ::CommitChanges avec le même argument OperationSet .

SetEffectParameters prend effet immédiatement lorsqu’il est appelé à partir d’un rappel XAudio2 avec un OperationSet de XAUDIO2_COMMIT_NOW.

RemarqueIXAudio2Voice ::GetEffectParameters retourne toujours les paramètres actuels réels de l’effet. Toutefois, ils peuvent ne pas correspondre aux paramètres définis par l’appel le plus récent à IXAudio2Voice ::SetEffectParameters. Les paramètres réels ne sont modifiés que la prochaine fois que le moteur audio s’exécute après l’appel IXAudio2Voice ::SetEffectParameters (ou après l’appel IXAudio2 ::CommitChanges correspondant, si IXAudio2Voice ::SetEffectParameters a été appelé avec un ID d’opération différé).
 

Configuration requise pour la plateforme

Windows 10 (XAudio2.9) ; 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

IXAPOParameters ::SetParameters

IXAudio2Voice

Vue d’ensemble de XAPO