ISimpleAudioVolume::SetMute 方法 (audioclient.h)

SetMute 方法设置音频会话的静音状态。

语法

HRESULT SetMute(
  [in] const BOOL bMute,
  [in] LPCGUID    EventContext
);

参数

[in] bMute

新的静音状态。 TRUE 启用静音。 FALSE 禁用静音。

[in] EventContext

指向事件上下文 GUID 的指针。 如果对此方法的调用生成卷更改事件,会话管理器会将通知发送到已注册与会话管理器的 IAudioSessionEvents 接口的所有客户端。 会话管理器包含每个通知的 EventContext 指针值。 收到通知后,客户端可以通过检查 EventContext 值来确定它还是另一个客户端是事件的源。 此方案取决于客户端为此参数选择的值,该值在会话中的所有客户端中都是唯一的。 如果调用方为此参数提供 NULL 指针,则客户端的通知方法将收到 NULL 上下文指针。

返回值

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

返回代码 说明
AUDCLNT_E_DEVICE_INVALIDATED
音频终结点设备已拔出,或者音频硬件或关联的硬件资源已重新配置、禁用、删除或以其他方式不可用。
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 音频服务未运行。

注解

仅当方法调用将会话的静音状态从 disabled 更改为 enabled 或从 enabled 更改为 disabled 时,此方法才会生成卷更改事件。 例如,如果在调用发生时启用静音,并且调用启用静音,则不会生成任何事件。

此方法将相同的静音状态应用于音频会话中的所有通道。 终结点设备始终在会话中的所有通道上统一应用静音。 没有用于设置单个通道静音状态的 IChannelAudioVolume 方法。

客户端可以通过调用 SimpleAudioVolume::GetMute 方法获取音频会话的静音状态。

要求

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

另请参阅

IAudioSessionEvents 接口

IChannelAudioVolume 接口

ISimpleAudioVolume 接口

ISimpleAudioVolume::GetMute