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

另请参阅

IXAudio2Voice