Freigeben über


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

Weitere Informationen