estructura ACX_PEAKMETER_CONFIG (acxelements.h)
La estructura de ACX_PEAKMETER_CONFIG se usa para definir la configuración del medidor máximo de ACX.
Sintaxis
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;
Miembros
Size
Longitud, en bytes, de esta estructura.
Id
Número que representa el identificador de elemento.
Name
Puntero a un GUID que representa el nombre del elemento. El valor predeterminado es KSAUDFNAME_PEAKMETER si no está presente.
Flags
Marcas de configuración de los picos de ACX definidas por la enumeración ACX_PEAKMETER_CONFIG_FLAGS.
Actualmente no se definen bits de marca. Establezca este miembro en cero: AcxPeakMeterConfigNoFlags.
ChannelsCount
El número de canales. Se trata de un recuento basado en uno.
Maximum
Valor máximo del medidor máximo. SignedMaximum debe establecerse en LONG_MAX.
Minimum
Valor mínimo del medidor máximo. SignedMinimum debe establecerse en LONG_MIN.
SteppingDelta
Valor de ejecución paso a paso del medidor máximo.
Callbacks
Estructura ACX_PEAKMETER_CALLBACKS que identifica las devoluciones de llamada del controlador para las operaciones de streaming del motor de audio ACX.
Comentarios
Por ejemplo, tiene una forma de onda con picos negativos y positivos en -1 y +1 respectivamente (en una escala que va de -1 a +1), a continuación, un valor de medidor máximo de LONG_MAX notifica con precisión el valor máximo de la forma de onda para un período de tiempo determinado. Por el contrario, se debe usar un valor de medidor máximo de cero (0) para informar del silencio, donde todos los valores de la forma de onda son cero. Pero en el caso de una forma de onda cuyos valores máximos están entre cero (0) y LONG_MAX, los valores de forma de onda notificados se reducirían linealmente de los originales.
Por lo tanto, en el caso de la forma de onda que oscila entre -0,5 y +0,5 (en una escala que va de -1 a +1), el valor de medidor máximo debe establecerse en LONG_MAX/2.
El controlador controla esta solicitud de propiedad de forma sincrónica. Si la solicitud se realiza correctamente, restablece el pico, que inicializa el valor máximo acumulado en cero. Si la solicitud no se realiza correctamente, no se cambia el pico.
Consulte también KSPROPERTY_AUDIO_PEAKMETER2.
Ejemplo
A continuación se muestra el uso de ejemplo.
// 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;
Requisitos de ACX
Versión mínima de ACX: 1.0
Para obtener más información sobre las versiones de ACX, consulte Introducción a la versión de ACX.
Requisitos
Requisito | Valor |
---|---|
Header | acxelements.h |