waveOutSetVolume 函数 (mmeapi.h)
waveOutSetVolume 函数设置指定波形音频输出设备的音量级别。
语法
MMRESULT waveOutSetVolume(
HWAVEOUT hwo,
DWORD dwVolume
);
parameters
hwo
打开波形音频输出设备的句柄。 此参数也可以是设备标识符。
dwVolume
新卷设置。 低序字包含左声道音量设置,高序字包含右声道设置。 值 0xFFFF 表示完整音量,0x0000 值为静音。
如果设备不支持左右音量控制,则 dwVolume 的低序字将指定音量级别,高序字将被忽略。
返回值
如果成功,则返回MMSYSERR_NOERROR,否则返回错误。 可能的错误值包括以下内容。
返回代码 | 说明 |
---|---|
|
指定的设备句柄无效。 |
|
不存在设备驱动程序。 |
|
无法分配或锁定内存。 |
|
不支持函数。 |
注解
如果使用设备标识符,则 waveOutSetVolume 调用的结果将应用于设备的所有实例。 如果使用设备句柄,则结果仅适用于设备句柄引用的设备实例。
并非所有设备都支持卷更改。 若要确定设备是否支持音量控制,请使用 WAVECAPS_VOLUME 标志测试 waveOutGetDevCaps 函数 (填充的 WAVEOUTCAPS 结构的 dwSupport 成员) 。 若要确定设备是否支持左右通道的音量控制,请使用 WAVECAPS_LRVOLUME 标志。
大多数设备不支持完整的 16 位卷级控制,并且不会使用所请求卷设置的最小有效位。 例如,如果设备支持 4 位音量控制,则 0x4000、0x4FFF 和 0x43BE 的值都将截断为0x4000。 waveOutGetVolume 函数返回使用 waveOutSetVolume 设置的完整 16 位设置。
卷设置以对数方式解释。 这意味着将卷级别从 0x5000 增加到 0x6000 时,感知到的音量增加与从 0x4000 增加到 0x5000 相同。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | mmeapi.h (包括 Windows.h) |
Library | Winmm.lib |
DLL | Winmm.dll |