Método IXAudio2Voice::SetOutputMatrix (xaudio2.h)
Define o nível de volume de cada canal da saída final para a voz. Esses canais são mapeados para os canais de entrada de uma voz de destino especificada.
Sintaxe
\\HRESULT SetOutputMatrix(
[in] IXAudio2Voice *pDestinationVoice,
[in] UINT32 SourceChannels,
[in] UINT32 DestinationChannels,
[in] const float *pLevelMatrix,
[in] UINT32 OperationSet
);
Parâmetros
[in] pDestinationVoice
Ponteiro para um IXAudio2Voice de destino para o qual definir níveis de volume.
[in] SourceChannels
Confirma a contagem de canais de saída da voz. Esse é o número de canais produzidos pelo último efeito na cadeia.
[in] DestinationChannels
Confirma a contagem de canais de entrada da voz de destino.
[in] pLevelMatrix
Matriz de níveis de volume [SourceChannels × DestinationChannels] enviados para a voz de destino. O nível enviado do canal de origem S para o canal de destino D é especificado no formulário pLevelMatrix[SourceChannels × D + S].
Por exemplo, ao renderizar a entrada estéreo de dois canais em uma saída 5.1 ponderada em direção aos canais frontais, mas ausente dos canais central e de baixa frequência, a matriz pode ter os valores mostrados na tabela a seguir.
Saída | Entrada à esquerda [Índice de Matriz] | Entrada direita [Índice de matriz] |
---|---|---|
Esquerda | 1.0 [0] | 0.0 [1] |
Direita | 0.0 [2] | 1.0 [3] |
Front Center | 0.0 [4] | 0.0 [5] |
LFE | 0.0 [6] | 0.0 [7] |
Parte traseira esquerda | 0.8 [8] | 0.0 [9] |
Direita Traseira | 0.0 [10] | 0.8 [11] |
[in] OperationSet
Identifica essa chamada como parte de um lote adiado. Consulte a visão geral dos Conjuntos de Operações XAudio2 para obter mais informações.
Valor retornado
Retorna S_OK se tiver êxito, caso contrário, um código de erro. Consulte Códigos de Erro XAudio2 para obter descrições de códigos de erro.
Comentários
Esse método é válido apenas para vozes de origem e submixagem, pois as vozes de masterização são gravadas diretamente no dispositivo sem combinação de matriz.
Os níveis de volume são expressos como multiplicadores de amplitude de ponto flutuante entre -XAUDIO2_MAX_VOLUME_LEVEL e XAUDIO2_MAX_VOLUME_LEVEL (-2²⁴ a 2²⁴), com um ganho máximo de 144,5 dB. Um nível de volume de 1,0 significa que não há atenuação ou ganho e 0 significa silêncio. Níveis negativos podem ser usados para inverter a fase do áudio. Consulte XAudio2 Volume and Pitch Control para obter informações adicionais sobre o controle de volume.
A função X3DAudioX3DAudioCalculate pode produzir uma matriz de saída para uso com SetOutputMatrix com base na posição de um som e na posição de um ouvinte.
Requisitos da plataforma
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); SDK do DirectX (XAudio 2.7)Requisitos
Plataforma de Destino | Windows |
Cabeçalho | xaudio2.h |