estructura X3DAUDIO_DSP_SETTINGS (x3daudio.h)
Recibe los resultados de una llamada a X3DAudioCalculate.
Sintaxis
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;
Miembros
pMatrixCoefficients
El llamador proporcionó una matriz que se inicializará con el nivel de volumen de cada canal de origen presente en cada canal de destino. La matriz debe tener al menos elementos (SrcChannelCount × DstChannelCount). La matriz se organiza con los canales de origen como índice de columna de la matriz y los canales de destino como índice de fila de la matriz. Por ejemplo, al representar la entrada estéreo de dos canales en una salida de 5,1 que se pondera hacia los canales frontales, pero no está presente en los canales central y de baja frecuencia, la matriz podría ser como se muestra en la tabla siguiente.
Resultados | Entrada izquierda | Entrada correcta |
---|---|---|
Left | 1,0 | 0,0 |
Right | 0,0 | 1.0 |
Centro frontal | 0,0 | 0,0 |
LFE | 0,0 | 0,0 |
Parte trasera izquierda | 0,8 | 0,0 |
Atrás a la derecha | 0,0 | 0.8 |
Tenga en cuenta que los canales izquierdo y derecho están totalmente asignados a los canales izquierdo y derecho de salida; El 80 % de la entrada izquierda y derecha se asigna a los canales izquierdo y derecho trasero.
El miembro pMatrixCoefficients puede ser NULL si no se especifica la marca X3DAUDIO_CALCULATE_MATRIX al llamar a X3DAudioCalculate.
Al usar X3DAudio con XAudio2, el valor devuelto en el miembro pMatrixCoefficients se aplicaría a una voz con IXAudio2Voice::SetOutputMatrix.
pDelayTimes
El autor de la llamada proporcionó una matriz de tiempo de retraso, que recibe retrasos para cada canal de destino en milisegundos. Esta matriz debe tener al menos elementos DstChannelCount . X3DAudio no realiza realmente el retraso. Simplemente devuelve los coeficientes que se pueden usar para ajustar un efecto DSP de retraso colocado en la cadena de efectos. El miembro pDelayTimes puede ser NULL si no se especifica la marca X3DAUDIO_CALCULATE_DELAY al llamar a X3DAudioCalculate.
SrcChannelCount
Número de canales de origen. Debe inicializarse en el número de canales emisores antes de llamar a X3DAudioCalculate.
DstChannelCount
Número de canales de origen. Debe inicializarse en el número de canales emisores antes de llamar a X3DAudioCalculate.
LPFDirectCoefficient
Coeficiente de ruta directa de LPF. Solo se calcula si se especifica la marca X3DAUDIO_CALCULATE_LPF_DIRECT al llamar a X3DAudioCalculate.
Al usar X3DAudio con XAudio2, el valor devuelto en el miembro LPFDirectCoefficient se aplicaría a un filtro de paso bajo en una voz de origen con IXAudio2Voice::SetFilterParameters.
LPFReverbCoefficient
Coeficiente de ruta de reverberación LPF.
Solo se calcula si se especifica la marca X3DAUDIO_CALCULATE_LPF_REVERB al llamar a X3DAudioCalculate.
ReverbLevel
Nivel de envío de reverberación. Solo se calcula si se especifica la marca X3DAUDIO_CALCULATE_REVERB al llamar a X3DAudioCalculate.
DopplerFactor
Factor de desplazamiento Desplaz. Escala la relación del remuestreo para el efecto de desplazamiento de Horizontal, donde:
effective_frequency = DopplerFactor × original_frequency
Solo se calcula si se especifica la marca X3DAUDIO_CALCULATE_DOPPLER al llamar a X3DAudioCalculate.
Cuando se usa X3DAudio con XAudio2, el valor devuelto en ElFactor DeFactor se aplicaría a una voz de origen con IXAudio2SourceVoice::SetFrequencyRatio.
EmitterToListenerAngle
Ángulo interior del emisor a escucha, expresado en radianes con respecto a la orientación frontal del emisor.
Solo se calcula si se especifica la marca X3DAUDIO_CALCULATE_EMITTER_ANGLE al llamar a X3DAudioCalculate.
EmitterToListenerDistance
Distancia en unidades del mundo definidas por el usuario desde el agente de escucha hasta la posición base del emisor.
EmitterVelocityComponent
Componente del vector de velocidad del emisor proyectado en vector de emisor a agente de escucha en unidades mundiales definidas por el usuario por segundo.
Solo se calcula si se especifica la marca X3DAUDIO_CALCULATE_DOPPLER al llamar a X3DAudioCalculate.
ListenerVelocityComponent
Componente del vector de velocidad del agente de escucha proyectado en el vector emisor-agente> de escucha en unidades del mundo definidas por el usuario por segundo. Solo se calcula si se especifica la marca X3DAUDIO_CALCULATE_DOPPLER al llamar a X3DAudioCalculate.
Comentarios
Los miembros siguientes deben inicializarse antes de pasar esta estructura a la función X3DAudioCalculate :
- pMatrixCoefficients
- pDelayTimes
- SrcChannelCount
- DstChannelCount
- pMatrixCoefficients
- pDelayTimes
- LPFDirectCoefficient
- LPFReverbCoefficient
- ReverbLevel
- Factor
- EmitterToListenerAngle
- EmitterToListenerDistance
- EmitterVelocityComponent
- ListenerVelocityComponent
Requisitos de la plataforma
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); SDK de DirectX (XAudio 2.7)Requisitos
Requisito | Valor |
---|---|
Header | x3daudio.h |