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.
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
- pMatrixCoefficients
- pDelayTimes
- LPFDirectCoefficient
- LPFReverbCoefficient
- ReverbLevel
- DopplerFactor
- EmitterToListenerAngle
- EmitterToListenerDistance
- EmitterVelocityComponent
- ListenerVelocityComponent
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 |