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 |