Condividi tramite


X3DAUDIO_DSP_SETTINGS struttura (x3daudio.h)

Riceve i risultati da una chiamata a X3DAudioCalculate.

Sintassi

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;

Members

pMatrixCoefficients

Matrice fornita dal chiamante che verrà inizializzata con il livello di volume di ogni canale di origine presente in ogni canale di destinazione. La matrice deve avere almeno (SrcChannelCount × DstChannelCount). La matrice è disposta con i canali di origine come indice di colonna della matrice e i canali di destinazione come indice di riga della matrice. Ad esempio, quando si esegue il rendering dell'input stereo a due canali in un output 5.1 ponderato verso i canali frontali, ma assente dal centro e dai canali a bassa frequenza, la matrice potrebbe essere come illustrato nella tabella seguente.

Output Input sinistro Input destro
Sinistra 1,0 0,0
Destra 0.0 1,0
Front Center 0,0 0.0
LFE 0,0 0.0
Indietro sinistra 0,8 0,0
Indietro destra 0.0 0,8
 

Si noti che i canali sinistro e destro sono completamente mappati ai canali di output sinistro e destro; Il 80% dell'input sinistro e destro viene mappato ai canali indietro a sinistra e destra.

Il membro pMatrixCoefficients può essere NULL se il flag di X3DAUDIO_CALCULATE_MATRIX non viene specificato quando si chiama X3DAudioCalculate.

Quando si usa X3DAudio con XAudio2, il valore restituito nel membro pMatrixCoefficients verrà applicato a una voce con IXAudio2Voice::SetOutputMatrix.

pDelayTimes

Il chiamante ha fornito la matrice di tempo di ritardo, che riceve ritardi per ogni canale di destinazione in millisecondi. Questa matrice deve avere almeno elementi DstChannelCount . X3DAudio non esegue effettivamente il ritardo. Restituisce semplicemente i coefficienti che possono essere usati per modificare un effetto DSP ritardato posizionato nella catena di effetti. Il membro pDelayTimes può essere NULL se il flag di X3DAUDIO_CALCULATE_DELAY non viene specificato quando si chiama X3DAudioCalculate.

Nota Questo membro viene restituito solo quando X3DAudio viene inizializzato per l'output stereo. Per l'utilizzo tipico di Xbox 360, non restituirà alcun dato.
 

SrcChannelCount

Numero di canali di origine. Questa operazione deve essere inizializzata per il numero di canali di emissione prima di chiamare X3DAudioCalculate.

DstChannelCount

Numero di canali di origine. Questa operazione deve essere inizializzata per il numero di canali di emissione prima di chiamare X3DAudioCalculate.

LPFDirectCoefficient

Coefficiente di percorso diretto LPF. Calcolato solo se il flag di X3DAUDIO_CALCULATE_LPF_DIRECT viene specificato quando si chiama X3DAudioCalculate.

Quando si usa X3DAudio con XAudio2, il valore restituito nel membro LPFDirectCoefficient verrà applicato a un filtro a basso passaggio su una voce di origine con IXAudio2Voice::SetFilterParameters.

LPFReverbCoefficient

Coefficiente di reverb-path LPF.

Calcolato solo se il flag di X3DAUDIO_CALCULATE_LPF_REVERB viene specificato quando si chiama X3DAudioCalculate.

ReverbLevel

Livello di invio di riverbero. Calcolato solo se il flag di X3DAUDIO_CALCULATE_REVERB viene specificato quando si chiama X3DAudioCalculate.

DopplerFactor

Fattore di spostamento doppler. Ridimensiona il rapporto di resampler per l'effetto di spostamento Doppler, dove:

effective_frequency = DopplerFactor × original_frequency

Calcolato solo se il flag di X3DAUDIO_CALCULATE_DOPPLER viene specificato quando si chiama X3DAudioCalculate.

Quando si usa X3DAudio con XAudio2, il valore restituito in DopplerFactor verrà applicato a una voce di origine con IXAudio2SourceVoice::SetFrequencyRatio.

EmitterToListenerAngle

Angolo interno di emitter-to-listener, espresso in radianti rispetto all'orientamento anteriore dell'emittente.

Calcolato solo se il flag di X3DAUDIO_CALCULATE_EMITTER_ANGLE viene specificato quando si chiama X3DAudioCalculate.

EmitterToListenerDistance

Distanza nelle unità mondiali definite dall'utente dal listener alla posizione di base dell'emittente.

EmitterVelocityComponent

Componente del vettore di velocità dell'emittente proiettato sul vettore di emissione da listener alle unità mondiali definite dall'utente al secondo.

Calcolato solo se il flag di X3DAUDIO_CALCULATE_DOPPLER viene specificato quando si chiama X3DAudioCalculate.

ListenerVelocityComponent

Componente del vettore di velocità del listener proiettato sul vettore di listener di> emissione nelle unità mondiali definite dall'utente al secondo. Calcolato solo se il flag di X3DAUDIO_CALCULATE_DOPPLER viene specificato quando si chiama X3DAudioCalculate.

Commenti

I membri seguenti devono essere inizializzati prima di passare questa struttura alla funzione X3DAudioCalculate :

  • pMatrixCoefficients

  • pDelayTimes
  • SrcChannelCount

  • DstChannelCount
I membri seguenti vengono restituiti passando questa struttura alla funzione X3DAudioCalculate :
  • pMatrixCoefficients

  • pDelayTimes

  • LPFDirectCoefficient

  • LPFReverbCoefficient
  • ReverbLevel

  • DopplerFactor

  • EmitterToListenerAngle
  • EmitterToListenerDistance

  • EmitterVelocityComponent

  • ListenerVelocityComponent
Nota Per pMatrixCoefficients e pDelayTimes, X3DAudioCalculate non alloca memoria aggiuntiva. X3DAudioCalculate modifica semplicemente i valori nei percorsi di memoria allocati per questi puntatori.
 

Requisiti della piattaforma

Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)

Requisiti

Requisito Valore
Intestazione x3daudio.h

Vedi anche

Strutture