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。 如果失败,可能的返回代码包括但不限于下表中显示的值。
返回代码 | 说明 |
---|---|
|
参数 fLevelDB 位于设备支持的卷范围之外。 |
|
内存不足。 |
备注
如果卷级别 fLevelDB 超出 IAudioEndpointVolume::GetVolumeRange 方法报告的卷范围, SetMasterVolumeLevel 调用将失败并返回错误代码E_INVALIDARG。
要求
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | endpointvolume.h |
请参阅
IAudioEndpointVolume::GetVolumeRange