IMFAudioStreamVolume 接口 (mfidl.h)

控制单个音频通道的音量级别。

(SAR) 流式音频呈现器将此接口作为服务公开。 若要获取指向接口的指针,请使用服务标识符MR_STREAM_VOLUME_SERVICE调用 IMFGetService::GetService。 可以直接在 SAR 上调用 GetService ,也可以在媒体会话上调用它。

继承

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

方法

IMFAudioStreamVolume 接口具有这些方法。

 
IMFAudioStreamVolume::GetAllVolumes

检索音频流中所有通道的音量级别。
IMFAudioStreamVolume::GetChannelCount

检索音频流中的通道数。
IMFAudioStreamVolume::GetChannelVolume

检索音频流中指定通道的音量级别。
IMFAudioStreamVolume::SetAllVolumes

设置音频流中所有声道的单个音量级别。
IMFAudioStreamVolume::SetChannelVolume

设置音频流中指定声道的音量级别。

注解

如果应用程序不需要通道级音量控制,则可以使用 IMFSimpleAudioVolume 接口来控制音频会话的主音量级别。

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

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

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

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

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

要求

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

另请参阅

媒体基础接口

流式处理音频呈现器