Partager via


structure ACX_PEAKMETER_CONFIG (acxelements.h)

La structure ACX_PEAKMETER_CONFIG est utilisée pour définir la configuration des picmètres ACX.

Syntaxe

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;

Membres

Size

Longueur, en octets, de cette structure.

Id

Nombre qui représente l’ID d’élément.

Name

Pointeur vers un GUID qui représente le nom de l’élément. Il est par défaut KSAUDFNAME_PEAKMETER s’il n’est pas présent.

Flags

Indicateurs de configuration acX peakmeter définis par l’énumération ACX_PEAKMETER_CONFIG_FLAGS.

Aucun bits d’indicateur n’est actuellement défini. Définissez ce membre sur zéro - AcxPeakMeterConfigNoFlags.

ChannelsCount

Nombre de canaux. Il s’agit d’un nombre basé sur un.

Maximum

Valeur maximale du picmètre. SignedMaximum doit être défini sur LONG_MAX.

Minimum

Valeur minimale du picmètre. SignedMinimum doit être défini sur LONG_MIN.

SteppingDelta

Valeur de pas à pas pour le compteur de pointe.

Callbacks

La structure ACX_PEAKMETER_CALLBACKS qui identifie les rappels de pilotes pour les opérations de streaming du moteur audio ACX.

Remarques

Par exemple, vous avez une forme d’onde avec des pics négatifs et positifs à -1 et +1 respectivement (sur une échelle allant de -1 à +1), puis une valeur de compteur de pointe de LONG_MAX signale avec précision la valeur maximale de la forme d’onde pour une fenêtre de temps donnée. À l’inverse, une valeur de compteur de pointe de zéro (0) doit être utilisée pour signaler le silence, où toutes les valeurs de la forme d’onde sont égales à zéro. Toutefois, dans le cas d’une forme d’onde dont les valeurs maximales sont comprises entre zéro (0) et LONG_MAX, les valeurs de forme d’onde signalées seraient réduites de manière linéaire à partir des initiales.

Par conséquent, dans le cas de la forme d’onde qui bascule entre -0,5 et +0,5 (sur une échelle allant de -1 à +1), la valeur du compteur de pointe doit être définie sur LONG_MAX/2.

Le pilote gère cette requête de propriété de façon synchrone. Si la requête réussit, elle réinitialise le compteur de pointe, qui initialise la valeur maximale cumulée à zéro. Si la requête ne réussit pas, le compteur maximal n’est pas modifié.

Voir aussi KSPROPERTY_AUDIO_PEAKMETER2.

Exemple

L’exemple d’utilisation est illustré ci-dessous.

// 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;

Configuration requise pour ACX

version minimale d’ACX : 1.0

Pour plus d’informations sur les versions ACX, consultez vue d’ensemble de la version ACX.

Exigences

Exigence Valeur
d’en-tête acxelements.h

Voir aussi