ACX_PEAKMETER_CONFIG structure (acxelements.h)
La structure ACX_PEAKMETER_CONFIG est utilisée pour définir la configuration du compteur de pointe 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 de l’élément.
Name
Pointeur vers un GUID qui représente le nom de l’élément. La valeur par défaut est KSAUDFNAME_PEAKMETER si elle n’est pas présente.
Flags
Indicateurs de configuration de peakmeter ACX 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
Le nombre de canaux. Il s’agit d’un nombre basé sur un.
Maximum
Valeur maximale pour le peakmeter. SignedMaximum doit être défini sur LONG_MAX.
Minimum
Valeur minimale pour le peakmeter. SignedMinimum doit être défini sur LONG_MIN.
SteppingDelta
Valeur pas à pas pour le peakmeter.
Callbacks
Le ACX_PEAKMETER_CALLBACKS structure 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 qui va de -1 à +1), puis une valeur de compteur de pointe de LONG_MAX indique avec précision la valeur maximale de forme d’onde pour une fenêtre de temps donnée. À l’inverse, une valeur maximale de compteur égale à zéro (0) doit être utilisée pour signaler le silence, où toutes les valeurs de la forme d’onde sont égales à zéro. Mais 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 façon linéaire par rapport aux valeurs d’origine.
Par conséquent, dans le cas de la forme d’onde qui oscille entre -0,5 et +0,5 (sur une échelle comprise entre -1 et +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 manière synchrone. Si la requête réussit, elle réinitialise le peakmeter, qui initialise la valeur maximale cumulée à zéro. Si la requête échoue, le compteur de pics 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 ACX minimale : 1.0
Pour plus d’informations sur les versions d’ACX, consultez Vue d’ensemble des versions d’ACX.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | acxelements.h |