ACX_PEAKMETER_CONFIG-Struktur (acxelements.h)
Die ACX_PEAKMETER_CONFIG-Struktur wird verwendet, um die ACX-Peakmeterkonfiguration zu definieren.
Syntax
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;
Member
Size
Die Länge dieser Struktur in Bytes.
Id
Eine Zahl, die die Element-ID darstellt.
Name
Ein Zeiger auf eine GUID, die den Namen des Elements darstellt. Wenn nicht vorhanden, wird standardmäßig KSAUDFNAME_PEAKMETER.
Flags
ACX-Peakmeter-Konfigurationsflags, die durch die ACX_PEAKMETER_CONFIG_FLAGS-Enumeration definiert werden.
Derzeit sind keine Flagbits definiert. Legen Sie diesen Member auf 0 fest – AcxPeakMeterConfigNoFlags.
ChannelsCount
Die Anzahl der Kanäle. Dies ist eine einsbasierte Anzahl.
Maximum
Der maximale Wert für den Peakmeter. SignedMaximum muss auf LONG_MAX festgelegt werden.
Minimum
Der Mindestwert für den Peakmeter. SignedMinimum muss auf LONG_MIN festgelegt werden.
SteppingDelta
Der Schrittwert für den Peakmeter.
Callbacks
Die ACX_PEAKMETER_CALLBACKS Struktur , die die Treiberrückrufe für ACX-Audio-Engine-Streamingvorgänge identifiziert.
Hinweise
Beispielsweise haben Sie eine Wellenform mit negativen und positiven Spitzen bei -1 bzw. +1 (auf einer Skala, die von -1 bis +1 reicht), und dann gibt ein Spitzenzählerwert von LONG_MAX den maximalen Wellenformwert für ein bestimmtes Zeitfenster genau an. Umgekehrt sollte ein Spitzenzählerwert von 0 (0) verwendet werden, um Stille zu melden, wobei alle Werte der Wellenform null sind. Im Fall einer Wellenform, deren Spitzenwerte zwischen null (0) und LONG_MAX liegen, würden die gemeldeten Wellenformwerte gegenüber den Originalen linear reduziert.
Bei der Wellenform, die zwischen -0,5 und +0,5 schwankt (auf einer Skala, die von -1 bis +1 reicht), muss daher der Spitzenzählerwert auf LONG_MAX/2 festgelegt werden.
Der Treiber verarbeitet diese Eigenschaftsanforderung synchron. Wenn die Anforderung erfolgreich ist, wird der Peakmeter zurückgesetzt, wodurch der akkumulierte Spitzenwert auf 0 (null) initialisiert wird. Wenn die Anforderung nicht erfolgreich ist, wird der Peakmeter nicht geändert.
Siehe auch KSPROPERTY_AUDIO_PEAKMETER2.
Beispiel
Das Beispiel für die Verwendung ist unten dargestellt.
// 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-Anforderungen
ACX-Mindestversion: 1.0
Weitere Informationen zu ACX-Versionen finden Sie unter ACX-Versionsübersicht.
Anforderungen
Anforderung | Wert |
---|---|
Header | acxelements.h |