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 |