IXAudio2Voice::SetOutputMatrix, méthode (xaudio2.h)
Définit le niveau de volume de chaque canal de la sortie finale de la voix. Ces canaux sont mappés aux canaux d’entrée d’une voix de destination spécifiée.
Syntaxe
\\HRESULT SetOutputMatrix(
[in] IXAudio2Voice *pDestinationVoice,
[in] UINT32 SourceChannels,
[in] UINT32 DestinationChannels,
[in] const float *pLevelMatrix,
[in] UINT32 OperationSet
);
Paramètres
[in] pDestinationVoice
Pointeur vers une destination IXAudio2Voice pour laquelle définir des niveaux de volume.
[in] SourceChannels
Confirme le nombre de canaux de sortie de la voix. Il s’agit du nombre de canaux produits par le dernier effet de la chaîne.
[in] DestinationChannels
Confirme le nombre de canaux d’entrée de la voix de destination.
[in] pLevelMatrix
Tableau des niveaux de volume [SourceChannels × DestinationChannels] envoyés à la voix de destination. Le niveau envoyé du canal source S au canal D de destination est spécifié sous la forme pLevelMatrix[SourceChannels × D + S].
Par exemple, lors du rendu d’une entrée stéréo à deux canaux dans une sortie 5.1 pondérée vers les canaux avant( mais absente des canaux centre et basse fréquence), la matrice peut avoir les valeurs indiquées dans le tableau suivant.
Output | Entrée gauche [Index de tableau] | Entrée droite [Index de tableau] |
---|---|---|
Gauche | 1.0 [0] | 0.0 [1] |
Right | 0.0 [2] | 1.0 [3] |
Front Center | 0.0 [4] | 0.0 [5] |
LFE | 0.0 [6] | 0.0 [7] |
Arrière gauche | 0.8 [8] | 0.0 [9] |
Arrière droit | 0.0 [10] | 0.8 [11] |
[in] OperationSet
Identifie cet appel dans le cadre d’un lot différé. Pour plus d’informations, consultez vue d’ensemble des jeux d’opérations XAudio2 .
Valeur retournée
Retourne S_OK en cas de réussite, un code d’erreur dans le cas contraire. Consultez Codes d’erreur XAudio2 pour obtenir une description des codes d’erreur.
Remarques
Cette méthode est valide uniquement pour les voix sources et les voix de sous-mixage, car le mastering des voix écrit directement sur l’appareil sans mélange de matrice.
Les niveaux de volume sont exprimés sous forme de multiplicateurs d’amplitude à virgule flottante entre -XAUDIO2_MAX_VOLUME_LEVEL et XAUDIO2_MAX_VOLUME_LEVEL (-2²⁴ à 2²⁴), avec un gain maximal de 144,5 dB. Un niveau de volume de 1.0 signifie qu’il n’y a pas d’atténuation ou de gain et 0 signifie silence. Les niveaux négatifs peuvent être utilisés pour inverser la phase audio. Pour plus d’informations sur le contrôle de volume, consultez Contrôle de volume et de tangage XAudio2 .
La fonction X3DAudioX3DAudioCalculate peut produire une matrice de sortie à utiliser avec SetOutputMatrix en fonction de la position d’un son et de la position d’un écouteur.
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)Spécifications
Plateforme cible | Windows |
En-tête | xaudio2.h |