IMFSimpleAudioVolume 接口 (mfidl.h)

控制与流式处理音频呈现器 (SAR) 和音频捕获源关联的音频会话的主音量级别。

SAR 和音频捕获源将此接口公开为服务。 若要获取指向接口的指针,请调用 IMFGetService::GetService。 对于 SAR,请使用服务标识符MR_POLICY_VOLUME_SERVICE。 对于音频捕获源,请使用服务标识符MR_CAPTURE_POLICY_VOLUME_SERVICE。 可以直接在 SAR 或音频捕获源上调用 GetService ,也可以在媒体会话上调用它。

继承

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

方法

IMFSimpleAudioVolume 接口具有这些方法。

 
IMFSimpleAudioVolume::GetMasterVolume

检索主卷级别。
IMFSimpleAudioVolume::GetMute

查询音频是否静音。 (IMFSimpleAudioVolume.GetMute)
IMFSimpleAudioVolume::SetMasterVolume

设置主卷级别。
IMFSimpleAudioVolume::SetMute

将音频静音或取消静音。 (IMFSimpleAudioVolume.SetMute)

注解

若要控制单个通道的音量级别,请使用 IMFAudioStreamVolume 接口。 IMFAudioStreamVolume 接口仅受 SAR 支持。

音量表示为衰减级别,其中 0.0 表示静音,1.0 表示完整音量 (无衰减) 。 对于每个通道,衰减级别为以下各项的乘积:

  • 音频会话的主音量级别。
  • 通道的音量级别。
例如,如果主音量为 0.8,通道音量为 0.5,则该通道的衰减为 0.8 × 0.5 = 0.4。 音量级别可能超过 1.0 (正增益) ,但音频引擎会剪辑超过 0 分贝的任何音频样本。 若要更改单个通道的音量级别,请使用 IMFAudioStreamVolume 接口。

使用以下公式将音量级别转换为分贝 (dB) 刻度:

衰减 (dB) = 20 * log10 (级别)

例如,音量级别 0.50 表示 6.02 dB 的衰减。

要求

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

另请参阅

媒体基础接口

流式处理音频呈现器