KSPROPERTY_AUDIO_PEAKMETER2

Windows 8 引入了 KSPROPERTY_AUDIO_PEAKMETER2 属性,该属性报告自上次重置峰值计节点 (KSNODETYPE_PEAKMETER) 以来在峰值计节点发生的最大音频信号级别。

使用情况摘要表

获取 设置 目标 属性描述符类型 属性值类型

通过筛选器或引脚实例的节点

KSNODEPROPERTY_AUDIO_CHANNEL

LONG

属性值(操作数据)的类型为 LONG,指定节点上的峰值样本值。 如果峰值为负值,则使用其绝对值。

返回值

KSPROPERTY_AUDIO_PEAKMETER2 属性请求返回 STATUS_SUCCESS,以指示它已成功完成。 否则,请求将返回适当的错误状态代码。 下表中显示了可能的错误状态代码。

状态代码 含义

STATUS_NOT_IMPLEMENTED

KS 筛选器无法返回峰值计的当前值。

注解

KSPROPERTY_AUDIO_PEAKMETER2 属性与 KSPROPERTY_AUDIO_PEAKMETER 属性几乎完全相同。 Windows 8 引入了 KSPROPERTY_AUDIO_PEAKMETER2 属性,以提供对引脚拓扑进行改进的硬件计数。 旧 KSPROPERTY_AUDIO_PEAKMETER 属性已弃用,不应再使用。

SignedMinimum 必须设置为 LONG_MIN(而不是 0x8000),并且 SignedMaximum 必须设置为 LONG_MAX(而不是 0x7fff)。 此外,请注意,峰值计值相对于此刻度,刻度以振幅线性表示。

因此,例如,如果波次的负峰值和正峰值分别为 -1 和 +1(从 -1 到 +1),则峰值计值 LONG_MAX 准确报告给定时间窗口的最大波次值。 相反,应使用峰值计值零 (0) 报告静音,其中所有波次的值均为零。 但是,对于峰值介于零 (0) 和 LONG_MAX 之间的波次,报告的波次值将从原始值线性减少。

因此,对于在 -0.5 和 +0.5 之间波动的波次(在从 -1 到 +1 的刻度上),峰值计值必须设置为 LONG_MAX/2。

KS 音频筛选器同步处理此属性请求。 如果请求成功,它会重置峰值计,将累积的峰值值初始化为零。 如果请求未成功,则不会更改峰值计。

系统在 IRQL PASSIVE_LEVEL 发送 KSPROPERTY_AUDIO_PEAKMETER2 属性的 IOCTL_KS_PROPERTY 请求。

要求

标头

Ksmedia.h(包括 Ksmedia.h)

另请参阅

KSNODEPROPERTY_AUDIO_CHANNEL

KSNODETYPE_PEAKMETER

KSPROPERTY_AUDIO_PEAKMETER