Metodo IXAudio2Voice::SetOutputMatrix (xaudio2.h)
Imposta il livello di volume di ogni canale dell'output finale per la voce. Questi canali vengono mappati ai canali di input di una voce di destinazione specificata.
Sintassi
\\HRESULT SetOutputMatrix(
[in] IXAudio2Voice *pDestinationVoice,
[in] UINT32 SourceChannels,
[in] UINT32 DestinationChannels,
[in] const float *pLevelMatrix,
[in] UINT32 OperationSet
);
Parametri
[in] pDestinationVoice
Puntatore a una destinazione IXAudio2Voice per cui impostare i livelli di volume.
[in] SourceChannels
Conferma il conteggio dei canali di output della voce. Si tratta del numero di canali prodotti dall'ultimo effetto nella catena.
[in] DestinationChannels
Conferma il conteggio dei canali di input della voce di destinazione.
[in] pLevelMatrix
Matrice di livelli di volume [SourceChannels × DestinationChannels] inviati alla voce di destinazione. Il livello inviato dal canale di origine S al canale di destinazione D viene specificato nel formato pLevelMatrix[SourceChannels × D + S].
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 dai canali al centro e a bassa frequenza, la matrice potrebbe avere i valori indicati nella tabella seguente.
Output | Input sinistro [indice matrice] | Input destro [indice matrice] |
---|---|---|
Sinistra | 1.0 [0] | 0.0 [1] |
Destra | 0.0 [2] | 1.0 [3] |
Front Center | 0.0 [4] | 0.0 [5] |
LFE | 0.0 [6] | 0.0 [7] |
Posteriore sinistra | 0.8 [8] | 0.0 [9] |
Indietro a destra | 0.0 [10] | 0.8 [11] |
[in] OperationSet
Identifica questa chiamata come parte di un batch posticipato. Per altre informazioni, vedere panoramica dei set di operazioni XAudio2 .
Valore restituito
Restituisce S_OK in caso di esito positivo, in caso contrario, un codice di errore. Per le descrizioni dei codici di errore, vedere Codici di errore XAudio2 .
Commenti
Questo metodo è valido solo per le voci di origine e submix, perché le voci mastering scrivono direttamente nel dispositivo senza combinazioni di matrici.
I livelli di volume sono espressi come moltiplicatori di ampiezza a virgola mobile tra -XAUDIO2_MAX_VOLUME_LEVEL e XAUDIO2_MAX_VOLUME_LEVEL (-2²⁴ a 2²⁴), con un guadagno massimo di 144,5 dB. Un livello di volume di 1,0 indica che non c'è attenuazione o guadagno e 0 significa silenzio. I livelli negativi possono essere usati per invertire la fase dell'audio. Per altre informazioni sul controllo del volume, vedere Controllo volume e pitch di XAudio2 .
La funzione X3DAudio X3DAudioCalculate può produrre una matrice di output da usare con SetOutputMatrix in base alla posizione di un suono e alla posizione di un listener.
Requisiti della piattaforma
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)Requisiti
Piattaforma di destinazione | Windows |
Intestazione | xaudio2.h |