Share via


structure X3DAUDIO_DSP_SETTINGS (x3daudio.h)

Reçoit les résultats d’un appel à X3DAudioCalculate.

Syntaxe

typedef struct X3DAUDIO_DSP_SETTINGS {
  FLOAT32 *pMatrixCoefficients;
  FLOAT32 *pDelayTimes;
  UINT32  SrcChannelCount;
  UINT32  DstChannelCount;
  FLOAT32 LPFDirectCoefficient;
  FLOAT32 LPFReverbCoefficient;
  FLOAT32 ReverbLevel;
  FLOAT32 DopplerFactor;
  FLOAT32 EmitterToListenerAngle;
  FLOAT32 EmitterToListenerDistance;
  FLOAT32 EmitterVelocityComponent;
  FLOAT32 ListenerVelocityComponent;
} X3DAUDIO_DSP_SETTINGS, *LPX3DAUDIO_DSP_SETTINGS;

Membres

pMatrixCoefficients

L’appelant a fourni un tableau qui sera initialisé avec le niveau de volume de chaque canal source présent dans chaque canal de destination. Le tableau doit avoir au moins des éléments (SrcChannelCount × DstChannelCount). Le tableau est organisé avec les canaux sources comme index de colonne du tableau et les canaux de destination comme index de ligne du tableau. 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 qui est absente des canaux centre et basse fréquence, la matrice peut être comme indiqué dans le tableau suivant.

Sortie Entrée gauche Entrée droite
Gauche 1,0 0,0
Right 0.0 1.0
Front Center 0.0 0.0
LFE 0.0 0.0
Arrière gauche 0,8 0,0
Arrière droit 0.0 0,8
 

Notez que les canaux gauche et droit sont entièrement mappés aux canaux de sortie gauche et droit ; 80 % des entrées gauche et droite sont mappées aux canaux arrière gauche et droit.

Le membre pMatrixCoefficients peut avoir la valeur NULL si l’indicateur X3DAUDIO_CALCULATE_MATRIX n’est pas spécifié lors de l’appel de X3DAudioCalculate.

Lorsque vous utilisez X3DAudio avec XAudio2, la valeur retournée dans le membre pMatrixCoefficients est appliquée à une voix avec IXAudio2Voice ::SetOutputMatrix.

pDelayTimes

L’appelant a fourni un tableau de temps de retard, qui reçoit des délais pour chaque canal de destination en millisecondes. Ce tableau doit avoir au moins des éléments DstChannelCount . X3DAudio n’effectue pas réellement le délai. Il retourne simplement les coefficients qui peuvent être utilisés pour ajuster un effet DSP différé placé dans la chaîne d’effet. Le membre pDelayTimes peut avoir la valeur NULL si l’indicateur X3DAUDIO_CALCULATE_DELAY n’est pas spécifié lors de l’appel de X3DAudioCalculate.

Note Ce membre est retourné uniquement lorsque X3DAudio est initialisé pour la sortie stéréo. Pour l’utilisation classique de Xbox 360, aucune donnée ne sera retournée.
 

SrcChannelCount

Nombre de canaux sources. Cela doit être initialisé sur le nombre de canaux émetteurs avant d’appeler X3DAudioCalculate.

DstChannelCount

Nombre de canaux sources. Cela doit être initialisé sur le nombre de canaux émetteurs avant d’appeler X3DAudioCalculate.

LPFDirectCoefficient

Coefficient de chemin direct LPF. Calculé uniquement si l’indicateur X3DAUDIO_CALCULATE_LPF_DIRECT est spécifié lors de l’appel de X3DAudioCalculate.

Lorsque vous utilisez X3DAudio avec XAudio2, la valeur retournée dans le membre LPFDirectCoefficient est appliquée à un filtre passe-bas sur une voix source avec IXAudio2Voice ::SetFilterParameters.

LPFReverbCoefficient

Coefficient de chemin de réverbération LPF.

Calculé uniquement si l’indicateur X3DAUDIO_CALCULATE_LPF_REVERB est spécifié lors de l’appel de X3DAudioCalculate.

ReverbLevel

Niveau d’envoi de la réverbération. Calculé uniquement si l’indicateur X3DAUDIO_CALCULATE_REVERB est spécifié lors de l’appel de X3DAudioCalculate.

DopplerFactor

Facteur de décalage Doppler. Met à l’échelle le rapport de rééchantillonnage pour l’effet de décalage Doppler, où :

effective_frequency = DopplerFactor × original_frequency

Calculé uniquement si l’indicateur X3DAUDIO_CALCULATE_DOPPLER est spécifié lors de l’appel de X3DAudioCalculate.

Lorsque vous utilisez X3DAudio avec XAudio2, la valeur retournée dans le DopplerFactor est appliquée à une voix source avec IXAudio2SourceVoice ::SetFrequencyRatio.

EmitterToListenerAngle

Angle intérieur de l’émetteur à l’écouteur, exprimé en radians par rapport à l’orientation avant de l’émetteur.

Calculé uniquement si l’indicateur X3DAUDIO_CALCULATE_EMITTER_ANGLE est spécifié lors de l’appel de X3DAudioCalculate.

EmitterToListenerDistance

Distance dans les unités mondiales définies par l’utilisateur entre l’écouteur et la position de base de l’émetteur.

EmitterVelocityComponent

Composant du vecteur de vitesse de l’émetteur projeté sur le vecteur émetteur-à-écouteur dans des unités mondiales définies par l’utilisateur par seconde.

Calculé uniquement si l’indicateur X3DAUDIO_CALCULATE_DOPPLER est spécifié lors de l’appel de X3DAudioCalculate.

ListenerVelocityComponent

Composant du vecteur de vitesse de l’écouteur projeté sur le vecteur émetteur-écouteur> en unités mondiales définies par l’utilisateur par seconde. Calculé uniquement si l’indicateur X3DAUDIO_CALCULATE_DOPPLER est spécifié lors de l’appel de X3DAudioCalculate.

Remarques

Les membres suivants doivent être initialisés avant de passer cette structure à la fonction X3DAudioCalculate :

  • pMatrixCoefficients

  • pDelayTimes
  • SrcChannelCount

  • DstChannelCount
Les membres suivants sont retournés en passant cette structure à la fonction X3DAudioCalculate :
  • pMatrixCoefficients

  • pDelayTimes

  • LPFDirectCoefficient

  • LPFReverbCoefficient
  • ReverbLevel

  • DopplerFactor

  • EmitterToListenerAngle
  • EmitterToListenerDistance

  • EmitterVelocityComponent

  • ListenerVelocityComponent
Note Pour pMatrixCoefficients et pDelayTimes, X3DAudioCalculate n’alloue pas de mémoire supplémentaire. X3DAudioCalculate modifie simplement les valeurs aux emplacements de mémoire alloués pour ces pointeurs.
 

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
En-tête x3daudio.h

Voir aussi

Structures