Método IXAudio2Voice::SetOutputMatrix (xaudio2.h)
Establece el nivel de volumen de cada canal de la salida final de la voz. Estos canales se asignan a los canales de entrada de una voz de destino especificada.
Sintaxis
\\HRESULT SetOutputMatrix(
[in] IXAudio2Voice *pDestinationVoice,
[in] UINT32 SourceChannels,
[in] UINT32 DestinationChannels,
[in] const float *pLevelMatrix,
[in] UINT32 OperationSet
);
Parámetros
[in] pDestinationVoice
Puntero a un destino IXAudio2Voice para el que se van a establecer los niveles de volumen.
[in] SourceChannels
Confirma el recuento de canales de salida de la voz. Este es el número de canales generados por el último efecto de la cadena.
[in] DestinationChannels
Confirma el recuento de canales de entrada de la voz de destino.
[in] pLevelMatrix
Matriz de niveles de volumen de [SourceChannels × DestinationChannels] enviados a la voz de destino. El nivel enviado desde el canal de origen S al canal de destino D se especifica con el formato pLevelMatrix[SourceChannels × D + S].
Por ejemplo, al representar la entrada estéreo de dos canales en una salida de 5,1 ponderada hacia los canales frontales, pero que no está presente en los canales central y de baja frecuencia, la matriz podría tener los valores que se muestran en la tabla siguiente.
Resultados | Entrada izquierda [Índice de matriz] | Entrada derecha [Índice de matriz] |
---|---|---|
Left | 1.0 [0] | 0.0 [1] |
Right | 0.0 [2] | 1.0 [3] |
Front Center | 0.0 [4] | 0.0 [5] |
LFE | 0.0 [6] | 0.0 [7] |
Parte trasera izquierda | 0.8 [8] | 0.0 [9] |
Atrás a la derecha | 0.0 [10] | 0.8 [11] |
[in] OperationSet
Identifica esta llamada como parte de un lote diferido. Consulte la introducción a los conjuntos de operaciones XAudio2 para obtener más información.
Valor devuelto
Devuelve S_OK si se ejecuta correctamente, de lo contrario, un código de error. Consulte Códigos de error de XAudio2 para obtener descripciones de los códigos de error.
Observaciones
Este método solo es válido para las voces de origen y submezcla, ya que la creación de voces de maestro se escribe directamente en el dispositivo sin mezclar matrices.
Los niveles de volumen se expresan como multiplicadores de amplitud de punto flotante entre -XAUDIO2_MAX_VOLUME_LEVEL y XAUDIO2_MAX_VOLUME_LEVEL (-2²⁴ a 2²⁴), con una ganancia máxima de 144,5 dB. Un nivel de volumen de 1,0 significa que no hay atenuación ni ganancia y 0 significa silencio. Los niveles negativos se pueden usar para invertir la fase del audio. Consulte Control de volumen y tono XAudio2 para obtener información adicional sobre el control de volumen.
La función X3DAudio X3DAudioCalculate puede generar una matriz de salida para su uso con SetOutputMatrix basada en la posición de un sonido y la posición de un agente de escucha.
Requisitos de la plataforma
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); SDK de DirectX (XAudio 2.7)Requisitos
Plataforma de destino | Windows |
Encabezado | xaudio2.h |