waveOutGetVolume 函数 (mmeapi.h)

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

语法

MMRESULT waveOutGetVolume(
  HWAVEOUT hwo,
  LPDWORD  pdwVolume
);

parameters

hwo

打开波形音频输出设备的句柄。 此参数也可以是设备标识符。

pdwVolume

指向要用当前卷设置填充的变量的指针。 此位置的低序字包含左声道音量设置,高序字包含右声道设置。 值 0xFFFF 表示完整音量,0x0000 值为静音。

如果设备不支持左右音量控制,则指定位置的低序字包含单声道音量级别。

无论设备是否支持完整的 16 位音量级控制,都会返回使用 waveOutSetVolume 函数设置的完整 16 位设置 (s) 。

返回值

如果成功,则返回MMSYSERR_NOERROR,否则返回错误。 可能的错误值包括以下内容。

返回代码 说明
MMSYSERR_INVALHANDLE
指定的设备句柄无效。
MMSYSERR_NODRIVER
不存在设备驱动程序。
MMSYSERR_NOMEM
无法分配或锁定内存。
MMSYSERR_NOTSUPPORTED
不支持函数。

注解

如果使用设备标识符,则 waveOutGetVolume 调用的结果和 pdwVolume 中返回的信息将应用于设备的所有实例。 如果使用设备句柄,则返回的结果和信息仅适用于设备句柄引用的设备实例。

并非所有设备都支持卷更改。 若要确定设备是否支持音量控制,请使用 WAVECAPS_VOLUME 标志测试 waveOutGetDevCaps 函数 (填充的 WAVEOUTCAPS 结构的 dwSupport 成员) 。

若要确定设备是否支持左右声道音量控制,请使用WAVECAPS_LRVOLUME标志测试 waveOutGetDevCaps) 填充 (WAVEOUTCAPS 结构的 dwSupport 成员。

卷设置以对数方式解释。 这意味着将卷级别从 0x5000 增加到 0x6000 时,感知到的音量增加与从 0x4000 增加到 0x5000 相同。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 mmeapi.h (包括 Windows.h)
Library Winmm.lib
DLL Winmm.dll

另请参阅

波形音频

波形函数