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
通道数。 这是一个基于计数。
Maximum
峰值的最大值。 SignedMaximum 必须设置为LONG_MAX。
Minimum
峰值的最小值。 SignedMinimum 必须设置为LONG_MIN。
SteppingDelta
峰值的单步执行值。
Callbacks
ACX_PEAKMETER_CALLBACKS 结构,用于标识 ACX 音频引擎流式处理作的驱动程序回调。
言论
例如,在 -1 和 +1(从 -1 到 +1 的刻度上),具有负峰值和正峰值的波形,然后LONG_MAX峰值准确报告给定时间窗口的最形值。 相反,应使用峰值计量值零(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 版本概述。
要求
要求 | 价值 |
---|---|
标头 | acxelements.h |