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 |