更改Waveform-Audio播放的音量

[与此页面关联的功能 波形音频是一项旧功能。 它已被 WASAPIAudio Graphs 取代。 WASAPIAudio Graphs 已针对Windows 10和Windows 11进行了优化。 如果可能,Microsoft 强烈建议新代码使用 WASAPI音频图 ,而不是 波形音频。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

Windows 提供以下功能来查询和设置波形音频输出设备的音量级别。

函数 说明
waveOutGetVolume 检索指定波形音频输出设备的当前音量级别。
waveOutSetVolume 设置指定波形音频输出设备的音量级别。

 

并非所有波形音频设备都支持音量更改。 某些设备支持左声道和右声道上的单个音量控制。 有关如何确定波形音频设备的音量控制功能的信息,请参阅 设备和数据类型

某些应用程序允许用户控制系统中所有音频设备的音量。 (此类型的许多应用程序都使用混音器服务;有关详细信息,请参阅 Audio Mixers.) 除非应用程序能够进行这种主音量控制,否则应先打开音频设备,然后再更改其音量。 在更改卷级别之前,还应查询卷级别,并尽快将卷级别还原到以前的级别。

卷在双字值中指定。 当音频格式为立体声时,高 16 位指定右声道的相对音量,较低的 16 位指定左声道的相对音量。 对于不支持左声道和右声道音量控制的设备,低 16 位指定音量级别,高 16 位将被忽略。

音量级别值的范围从0x0 (静音) 到0xFFFF (最大音量) ,并且对数解释。 将音量级别从 0x5000 增加到 0x6000 时,感知到的音量增加与从 0x4000 增加到 0x5000 相同。