IXAudio2Voice::SetVolume 方法 (xaudio2.h)

设置语音的总体音量级别。

语法

\\HRESULT SetVolume(
  [in] float  Volume,
  [in] UINT32 OperationSet
);

参数

[in] Volume

要使用的总体卷级别。 有关卷级别的详细信息,请参阅备注。

[in] OperationSet

将此调用标识为延迟批处理的一部分。 有关详细信息,请参阅 XAudio2 操作集 概述。

返回值

如果成功,则返回S_OK,否则返回错误代码。 有关错误代码的说明,请参阅 XAudio2 错误代码。

注解

SetVolume 控制语音的主输入音量。 主音量级别根据语音类型在不同时间应用。 对于子混合和主语音,音量级别在应用语音的内置筛选器和效果链之前应用。 对于源语音,主音量级别在应用语音的筛选器和效果链后应用。

音量级别表示为 -XAUDIO2_MAX_VOLUME_LEVEL 和 XAUDIO2_MAX_VOLUME_LEVEL (-2²-2²⁴ 到 2²⁴) 之间的浮点振幅乘法器,最大增益为 144.5 dB。 音量级别为 1.0 表示没有衰减或增益,0 表示静音。 负级别可用于反转音频的相位。 有关音量控制的其他信息,请参阅 XAudio2 音量和音调 控制。

注意IXAudio2Voice::GetVolume 始终返回 最近由 IXAudio2Voice::SetVolume 设置的卷。 但是,它可能实际上尚未生效:如果 IXAudio2Voice::SetVolume 调用) 延迟的操作 ID 调用 IXAudio2::SetVolume 调用了 IXAudio2::SetVolume,则它只会在 IXAudio2Voice::SetVolume 调用 (之后或相应的 IXAudio2::CommitChanges 调用后才会生效。
 

平台要求

Windows 10 (XAudio2.9) ;Windows 8,Windows Phone 8 (XAudio 2.8) ;DirectX SDK (XAudio 2.7)

要求

要求
目标平台 Windows
标头 xaudio2.h

另请参阅

如何:更改语音音量

如何:使用提交语音

IXAudio2Voice