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

Consulte también