Compartir a través de


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.

Nota Este miembro solo se devuelve cuando se inicializa X3DAudio para la salida estéreo. Para el uso típico de Xbox 360, no devolverá ningún dato en absoluto.
 

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
Los miembros siguientes se devuelven pasando esta estructura a la función X3DAudioCalculate :
  • pMatrixCoefficients

  • pDelayTimes

  • LPFDirectCoefficient

  • LPFReverbCoefficient
  • ReverbLevel

  • Factor

  • EmitterToListenerAngle
  • EmitterToListenerDistance

  • EmitterVelocityComponent

  • ListenerVelocityComponent
Nota Para pMatrixCoefficients y pDelayTimes, X3DAudioCalculate no asigna memoria adicional. X3DAudioCalculate simplemente modifica los valores en las ubicaciones de memoria asignadas para estos punteros.
 

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

Consulte también

Estructuras