IXAudio2Voice::GetOutputMatrix method (xaudio2.h)
Gets the volume level of each channel of the final output for the voice. These channels are mapped to the input channels of a specified destination voice.
Syntax
\\ void GetOutputMatrix(
[in] IXAudio2Voice *pDestinationVoice,
[in] UINT32 SourceChannels,
[in] UINT32 DestinationChannels,
[out] float *pLevelMatrix
);
Parameters
[in] pDestinationVoice
Pointer specifying the destination IXAudio2Voice to retrieve the output matrix for.
[in] SourceChannels
Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain.
[in] DestinationChannels
Confirms the input channel count of the destination voice.
[out] pLevelMatrix
Array of [SourceChannels * DestinationChannels] volume levels sent to the destination voice. The level sent from source channel S to destination channel D is returned in the form pLevelMatrix[DestinationChannels × S + D]. See Remarks for more information on volume levels.
Return value
This method does not return a value.
Remarks
This method applies only to source and submix voices, because mastering voices write directly to the device with no matrix mixing.
Volume levels are expressed as floating-point amplitude multipliers between -2²⁴ to 2²⁴, with a maximum gain of 144.5 dB. A volume level of 1 means there is no attenuation or gain and 0 means silence. Negative levels can be used to invert the audio's phase. See XAudio2 Volume and Pitch Control for additional information on volume control.
See WAVEFORMATEXTENSIBLE for information on standard channel ordering.
Platform Requirements
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | xaudio2.h |