ACX_PEAKMETER_CONFIG 结构 (acxelements.h)

ACX_PEAKMETER_CONFIG 结构用于定义 ACX 峰值计配置。

语法

typedef struct _ACX_PEAKMETER_CONFIG {
  ULONG                    Size;
  ULONG                    Id;
  const GUID               *Name;
  ULONG                    Flags;
  ULONG                    ChannelsCount;
  LONG                     Maximum;
  LONG                     Minimum;
  ULONG                    SteppingDelta;
  PACX_PEAKMETER_CALLBACKS Callbacks;
} ACX_PEAKMETER_CONFIG, *PACX_PEAKMETER_CONFIG;

成员

Size

此结构的长度(以字节为单位)。

Id

一个表示元素 ID 的数字。

Name

指向表示元素名称的 GUID 的指针。 如果不存在,则默认为 KSAUDFNAME_PEAKMETER。

Flags

ACX_PEAKMETER_CONFIG_FLAGS枚举定义的 ACX 峰值流量计配置标志。

当前未定义标志位。 将此成员设置为零 - AcxPeakMeterConfigNoFlags。

ChannelsCount

频道数量。 这是一个基于 1 的计数。

Maximum

峰值仪的最大值。 SignedMaximum 必须设置为 LONG_MAX。

Minimum

峰值仪的最小值。 SignedMinimum 必须设置为 LONG_MIN。

SteppingDelta

峰值表的步进值。

Callbacks

ACX_PEAKMETER_CALLBACKS结构,用于标识 ACX 音频引擎流式处理操作的驱动程序回调。

注解

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

因此,如果波形在 -0.5 到 +0.5 之间摆动, (范围从 -1 到 +1) ,则必须将峰值计量值设置为 LONG_MAX/2。

驱动程序以同步方式处理此属性请求。 如果请求成功,它将重置峰值,这将将累积的峰值初始化为零。 如果请求不成功,则不会更改峰值计。

另请参阅 KSPROPERTY_AUDIO_PEAKMETER2

示例

示例用法如下所示。

// Default peak meter settings
#define PEAKMETER_STEPPING_DELTA    0x1000
#define PEAKMETER_MAXIMUM           LONG_MAX
#define PEAKMETER_MINIMUM           LONG_MIN

    ACX_PEAKMETER_CONFIG            peakmeterCfg;

        ACX_PEAKMETER_CALLBACKS peakmeterCallbacks;
        ACX_PEAKMETER_CALLBACKS_INIT(&peakmeterCallbacks);
        peakmeterCallbacks.EvtAcxPeakMeterRetrieveLevel = CodecR_EvtPeakMeterRetrieveLevelCallback;

        ACX_PEAKMETER_CONFIG peakmeterCfg;
        ACX_PEAKMETER_CONFIG_INIT(&peakmeterCfg);
        peakmeterCfg.ChannelsCount = MAX_CHANNELS;
        peakmeterCfg.Minimum = PEAKMETER_MINIMUM;
        peakmeterCfg.Maximum = PEAKMETER_MAXIMUM;
        peakmeterCfg.SteppingDelta = PEAKMETER_STEPPING_DELTA;
        peakmeterCfg.Callbacks = &peakmeterCallbacks;

ACX 要求

最低 ACX 版本: 1.0

有关 ACX 版本的详细信息,请参阅 ACX 版本概述

要求

要求
Header acxelements.h

另请参阅