ISimpleAudioVolume 接口 (audioclient.h)

使用 ISimpleAudioVolume 接口,客户端可以控制音频会话的主音量级别。 IAudioClient::Initialize 方法初始化流对象并将流分配给音频会话。 客户端通过调用 IAudioClient::GetService 方法(参数 riid 设置为 REFIID IID_ISimpleAudioVolume)来获取对流对象上的 ISimpleAudioVolume 接口的引用

或者,客户端可以获取现有会话的 ISimpleAudioVolume 接口,而无需先创建流对象并将流添加到会话。 相反,客户端使用会话 GUID 调用 IAudioSessionManager::GetSimpleAudioVolume 方法。

会话子混合中任何通道的有效音量级别(如演讲者所听到)是以下四个音量级别因素的乘积:

  • 会话中流的每通道音量级别,客户端可以通过 IAudioStreamVolume 接口中的方法控制这些级别。
  • 会话的主卷级别,客户端可以通过 ISimpleAudioVolume 接口中的方法控制该级别。
  • 会话的每通道音量级别,客户端可以通过 IChannelAudioVolume 接口中的方法控制该级别。
  • 会话的基于策略的卷级别,当全局混合发生更改时,系统会动态分配给会话。
上述列表中的四个音量级别因子中的每一个都是 0.0 到 1.0 范围内的值,其中 0.0 表示静音,1.0 表示完整音量 (无衰减) 。 有效音量级别也是 0.0 到 1.0 范围内的值。

典型的音频应用程序不会修改会话的音量级别。 相反,他们依赖于用户通过 Sndvol 程序设置这些卷级别。 Sndvol 仅修改会话的主卷级别。 默认情况下,会话管理器在会话的初始激活时将主卷级别设置为 1.0。 Sndvol 或其他客户端的后续卷更改在计算机重启后会持续进行。

释放 ISimpleAudioVolume 接口实例时,客户端必须从与调用创建对象的 IAudioClient::GetService 相同的线程调用接口的 Release 方法。

ISimpleAudioVolume 接口控制音频会话的音量。 音频会话是共享模式流的集合。 此接口不适用于独占模式流。 有关独占模式流的卷控件的信息,请参阅 EndpointVolume API

继承

ISimpleAudioVolume 接口继承自 IUnknown 接口。 ISimpleAudioVolume 也有以下类型的成员:

方法

ISimpleAudioVolume 接口具有这些方法。

 
ISimpleAudioVolume::GetMasterVolume

GetMasterVolume 方法检索音频会话的客户端音量级别。
ISimpleAudioVolume::GetMute

GetMute 方法检索音频会话的当前静音状态。
ISimpleAudioVolume::SetMasterVolume

SetMasterVolume 方法设置音频会话的主音量级别。
ISimpleAudioVolume::SetMute

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

要求

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

另请参阅

核心音频接口

IAudioClient::GetService

IAudioClient::Initialize

IAudioStreamVolume 接口

IChannelAudioVolume 接口

WASAPI