IXAudio2Voice::GetOutputMatrix 方法 (xaudio2.h)
获取语音最终输出的每个声道的音量级别。 这些通道映射到指定目标语音的输入通道。
语法
\\ void GetOutputMatrix(
[in] IXAudio2Voice *pDestinationVoice,
[in] UINT32 SourceChannels,
[in] UINT32 DestinationChannels,
[out] float *pLevelMatrix
);
参数
[in] pDestinationVoice
指定要检索其输出矩阵的目标 IXAudio2Voice 的指针。
注意 如果语音发送到单个目标语音,则指定 NULL 将导致 GetOutputMatrix 针对该目标语音进行操作。
[in] SourceChannels
确认语音的输出通道计数。 这是链中最后一个效果生成的通道数。
[in] DestinationChannels
确认目标语音的输入通道计数。
[out] pLevelMatrix
发送到目标语音的 [SourceChannels * DestinationChannels] 音量级别的数组。 从源通道 S 发送到目标通道 D 的级别以 pLevelMatrix[DestinationChannels × S + D] 的形式返回。 有关卷级别的详细信息,请参阅“备注”。
返回值
此方法不返回值。
备注
此方法仅适用于源语音和子混合语音,因为主语音直接写入设备,无需矩阵混合。
音量级别表示为 -2²⁴ 到 2²⁴ 之间的浮点振幅乘数,最大增益为 144.5 dB。 音量级别为 1 表示没有衰减或增益,0 表示静音。 负级别可用于反转音频的相位。 有关音量控制的其他信息,请参阅 XAudio2 音量和音调 控制。
有关标准通道排序的信息,请参阅 WAVEFORMATEXTENSIBLE 。
注意GetOutputMatrix 始终返回 IXAudio2Voice::SetOutputMatrix 最近设置的级别。 但是,它们可能实际上尚未生效:它们仅在 IXAudio2Voice::SetOutputMatrix 调用 (之后或相应的 IXAudio2::CommitChanges 调用之后(如果 IXAudio2Voice::SetOutputMatrix 在) 调用了 IXAudio2Voice::SetOutputMatrix 时)才生效。
平台要求
Windows 10 (XAudio2.9) ;Windows 8,Windows Phone 8 (XAudio 2.8) ;DirectX SDK (XAudio 2.7)要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | xaudio2.h |