IAudioMeterInformation 接口 (endpointvolume.h)

IAudioMeterInformation 接口表示音频流与音频终结点设备之间的峰值计量。 客户端通过调用 IMMDevice::Activate 方法(参数 iid 设置为 REFIID IID_IAudioMeterInformation)来获取对终结点对象上 IAudioMeterInformation 接口的引用。

如果向终结点设备或从终结点设备流式传输音频数据的适配器设备实现了硬件峰值计量, 则 IAudioMeterInformation 接口使用该计量器监视音频流中的峰值级别。 如果音频设备缺少硬件峰值计量器,音频引擎会自动在软件中以透明方式实现峰值计量。

如果设备具有硬件峰值流量计,客户端可以使用 IAudioMeterInformation 接口中的 方法来监视共享模式和独占模式下设备的峰值级别。 如果设备缺少硬件峰值计量器,客户端可以使用这些方法在共享模式下(但不在独占模式下)监视设备的峰值级别。 在独占模式下,客户端和设备直接交换音频数据,绕过软件峰值计量。 在独占模式下,软件峰值计量始终报告峰值为 0.0。

若要确定设备是否具有硬件峰值计量器,请调用 IAudioMeterInformation::QueryHardwareSupport 方法。

对于呈现终结点设备, IAudioMeterInformation 接口监视输出流中的峰值级别,然后终结点卷控件会衰减该流。 同样,对于捕获终结点设备,接口在终结点音量控制衰减流之前监视输入流的峰值级别。

IAudioMeterInformation 接口中的方法报告的峰值规范化为 0.0 到 1.0 的范围。 例如,如果 PCM 流包含 16 位样本,并且特定计量期间的峰值样本值为 –8914,则峰值计量器记录的绝对值为 8914, IAudioMeterInformation 接口报告的规范化峰值为 8914/32768 = 0.272。

有关使用 IAudioMeterInformation 接口的代码示例,请参阅 峰值计量

继承

IAudioMeterInformation 接口继承自 IUnknown 接口。 IAudioMeterInformation 还具有以下类型的成员:

方法

IAudioMeterInformation 接口具有这些方法。

 
IAudioMeterInformation::GetChannelsPeakValues

GetChannelsPeakValues 方法获取音频流中所有通道的峰值采样值。
IAudioMeterInformation::GetMeteringChannelCount

GetMeteringChannelCount 方法获取音频流中由峰值计量器监视的通道数。
IAudioMeterInformation::GetPeakValue

GetPeakValue 方法获取音频流中通道的峰值采样值。
IAudioMeterInformation::QueryHardwareSupport

QueryHardwareSupport 方法查询音频终结点设备的硬件支持的功能。 (IAudioMeterInformation.QueryHardwareSupport)

要求

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

另请参阅

核心音频接口

EndpointVolume API

IMMDevice::Activate