IAudioEndpointVolume::SetMasterVolumeLevel 方法 (endpointvolume.h)

SetMasterVolumeLevel 方法设置进入或离开音频终结点设备的音频流的主音量级别(以分贝为单位)。

语法

HRESULT SetMasterVolumeLevel(
  [in] float   fLevelDB,
  [in] LPCGUID pguidEventContext
);

参数

[in] fLevelDB

新的主卷级别(以分贝为单位)。 若要获取可通过此方法设置的卷级别的范围和粒度,请调用 IAudioEndpointVolume::GetVolumeRange 方法。

[in] pguidEventContext

IAudioEndpointVolumeCallback::OnNotify 方法的上下文值。 此参数指向事件上下文 GUID。 如果 SetMasterVolumeLevel 调用更改终结点的卷级别,则已注册具有该终结点 的 IAudioEndpointVolumeCallback 接口的所有客户端都将收到通知。 在 OnNotify 方法的实现中,客户端可以检查事件上下文 GUID,以发现它还是另一个客户端是卷更改事件的源。 如果调用方为此参数提供 NULL 指针,则通知例程将接收上下文 GUID 值GUID_NULL。

返回值

如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。

返回代码 说明
E_INVALIDARG
参数 fLevelDB 位于设备支持的卷范围之外。
E_OUTOFMEMORY
内存不足。

备注

如果卷级别 fLevelDB 超出 IAudioEndpointVolume::GetVolumeRange 方法报告的卷范围, SetMasterVolumeLevel 调用将失败并返回错误代码E_INVALIDARG。

要求

   
最低受支持的客户端 Windows Vista [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2008 [桌面应用 | UWP 应用]
目标平台 Windows
标头 endpointvolume.h

请参阅

IAudioEndpointVolume 接口

IAudioEndpointVolume::GetVolumeRange

IAudioEndpointVolumeCallback 接口

IAudioEndpointVolumeCallback::OnNotify