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
表示項目標識碼的數位。
Name
GUID 的指標,表示項目的名稱。 如果不存在,則預設為KSAUDFNAME_PEAKMETER。
Flags
ACX_PEAKMETER_CONFIG_FLAGS 列舉所定義的 ACX 尖峰計組態旗標。
目前未定義旗標位。 將此成員設定為零 - AcxPeakMeterConfigNoFlags。
ChannelsCount
通道數目。 這是一個以計數為基礎的計數。
Maximum
尖峰計的最大值。 SignedMaximum 必須設定為 LONG_MAX。
Minimum
尖峰計的最小值。 SignedMinimum 必須設定為 LONG_MIN。
SteppingDelta
尖峰計的逐步執行值。
Callbacks
識別 ACX 音訊引擎串流作業之驅動程式回呼的 ACX_PEAKMETER_CALLBACKS 結構。
言論
例如,您在 -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 |