Share via


Estructura MIXERCONTROLA (mmeapi.h)

La estructura MIXERCONTROL describe el estado y las métricas de un único control para una línea de audio.

Sintaxis

typedef struct tagMIXERCONTROLA {
  DWORD cbStruct;
  DWORD dwControlID;
  DWORD dwControlType;
  DWORD fdwControl;
  DWORD cMultipleItems;
  CHAR  szShortName[MIXER_SHORT_NAME_CHARS];
  CHAR  szName[MIXER_LONG_NAME_CHARS];
  union {
    struct {
      LONG lMinimum;
      LONG lMaximum;
    } DUMMYSTRUCTNAME;
    struct {
      DWORD dwMinimum;
      DWORD dwMaximum;
    } DUMMYSTRUCTNAME2;
    DWORD dwReserved[6];
  } Bounds;
  union {
    DWORD cSteps;
    DWORD cbCustomData;
    DWORD dwReserved[6];
  } Metrics;
} MIXERCONTROLA, *PMIXERCONTROLA, *LPMIXERCONTROLA;

Members

cbStruct

Tamaño, en bytes, de la estructura MIXERCONTROL .

dwControlID

Identificador definido por mezclador de audio que hace referencia de forma única al control descrito por la estructura MIXERCONTROL . Este identificador puede tener cualquier formato compatible con el dispositivo mezclador. Una aplicación solo debe usar este identificador como identificador abstracto. Ningún dos controles para un único dispositivo mezclador puede tener el mismo identificador de control.

dwControlType

Clase del control para el que se especifica el identificador en dwControlID. Una aplicación debe usar esta información para mostrar el control adecuado para la entrada del usuario. Una aplicación también puede mostrar gráficos personalizados basados en la clase de control o buscar una clase de control determinada en una línea específica. Si una aplicación no conoce una clase de control, este control debe omitirse. Hay ocho clasificaciones de clases de control, cada una con uno o varios tipos de control estándar:

Nombre Descripciones
MIXERCONTROL_CT_CLASS_CUSTOM
MIXERCONTROL_CONTROLTYPE_CUSTOM
MIXERCONTROL_CT_CLASS_FADER
MIXERCONTROL_CONTROLTYPE_BASS MIXERCONTROL_CONTROLTYPE_EQUALIZER MIXERCONTROL_CONTROLTYPE_FADER MIXERCONTROL_CONTROLTYPE_TREBLE MIXERCONTROL_CONTROLTYPE_VOLUME
MIXERCONTROL_CT_CLASS_LIST
MIXERCONTROL_CONTROLTYPE_MIXER MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT MIXERCONTROL_CONTROLTYPE_MUX MIXERCONTROL_CONTROLTYPE_SINGLESELECT
MIXERCONTROL_CT_CLASS_METER
MIXERCONTROL_CONTROLTYPE_BOOLEANMETER MIXERCONTROL_CONTROLTYPE_PEAKMETER MIXERCONTROL_CONTROLTYPE_SIGNEDMETER MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER
MIXERCONTROL_CT_CLASS_NUMBER
MIXERCONTROL_CONTROLTYPE_DECIBELS MIXERCONTROL_CONTROLTYPE_PERCENT MIXERCONTROL_CONTROLTYPE_SIGNED MIXERCONTROL_CONTROLTYPE_UNSIGNED
MIXERCONTROL_CT_CLASS_SLIDER
MIXERCONTROL_CONTROLTYPE_PAN MIXERCONTROL_CONTROLTYPE_QSOUNDPAN MIXERCONTROL_CONTROLTYPE_SLIDER
MIXERCONTROL_CT_CLASS_SWITCH
MIXERCONTROL_CONTROLTYPE_BOOLEAN MIXERCONTROL_CONTROLTYPE_BUTTON MIXERCONTROL_CONTROLTYPE_LOUDNESS MIXERCONTROL_CONTROLTYPE_MONO MIXERCONTROL_CONTROLTYPE_MUTE MIXERCONTROL_CONTROLTYPE_ONOFF MIXERCONTROL_CONTROLTYPE_STEREOENH
MIXERCONTROL_CT_CLASS_TIME
MIXERCONTROL_CONTROLTYPE_MICROTIME MIXERCONTROL_CONTROLTYPE_MILLITIME

fdwControl

Estado y marcas de compatibilidad para el control de línea de audio. Se definen los valores siguientes:

Nombre Descripción
MIXERCONTROL_CONTROLF_DISABLED
El control está deshabilitado, quizás debido a otras configuraciones para el hardware mezclador y no se puede usar. Una aplicación puede leer la configuración actual de un control deshabilitado, pero no puede aplicar la configuración.
MIXERCONTROL_CONTROLF_MULTIPLE
El control tiene dos o más configuraciones por canal. Por ejemplo, un ecualizador requiere esta marca porque cada banda de frecuencia se puede establecer en un valor diferente. Un ecualizador que afecta a ambos canales de una línea estéreo de forma uniforme también especificará la marca MIXERCONTROL_CONTROLF_UNIFORM.
MIXERCONTROL_CONTROLF_UNIFORM
El control actúa en todos los canales de una línea multicanal de forma uniforme. Por ejemplo, un control quemuta ambos canales de una línea estéreo establecería esta marca. La mayoría de los controles MIXERCONTROL_CONTROLTYPE_MUX y MIXERCONTROL_CONTROLTYPE_MIXER también especifican la marca MIXERCONTROL_CONTROLF_UNIFORM.

cMultipleItems

Número de elementos por canal que componen un control MIXERCONTROL_CONTROLF_MULTIPLE. Este número siempre es dos o mayor para los controles de varios elementos. Si el control no es un control de varios elementos, no use este miembro; será cero.

szShortName[MIXER_SHORT_NAME_CHARS]

Cadena corta que describe el control de línea de audio especificado por dwControlID. Esta descripción debe ser adecuada para usar como una etiqueta concisa para el control.

szName[MIXER_LONG_NAME_CHARS]

Cadena que describe el control de línea de audio especificado por dwControlID. Esta descripción debe ser adecuada para usarla como una descripción completa para el control.

Bounds

Unión de tipos de límites.

Bounds.DUMMYSTRUCTNAME

Bounds.DUMMYSTRUCTNAME.lMinimum

Valor mínimo con signo para un control que tiene una naturaleza de límite firmada. Este miembro no se puede usar junto con dwMinimum.

Bounds.DUMMYSTRUCTNAME.lMaximum

Valor máximo con signo para un control que tiene una naturaleza de límite firmada. Este miembro no se puede usar junto con dwMaximum.

Bounds.DUMMYSTRUCTNAME2

Bounds.DUMMYSTRUCTNAME2.dwMinimum

Valor mínimo sin signo para un control que tiene una naturaleza de límite sin signo. Este miembro no se puede usar junto con lMinimum.

Bounds.DUMMYSTRUCTNAME2.dwMaximum

Valor máximo sin signo para un control que tiene una naturaleza de límite sin signo. Este miembro no se puede usar junto con lMaximum.

Bounds.dwReserved[6]

Reservado; no usar.

Metrics

Unión de métricas de límite.

Metrics.cSteps

Número de intervalos discretos dentro de la unión especificada para un control especificado por el miembro Bounds . Este miembro se superpone con los demás miembros del miembro de la estructura Metrics y no se puede usar junto con esos miembros.

Metrics.cbCustomData

Tamaño, en bytes, necesario para contener el estado de una clase de control personalizada. Este miembro solo es adecuado para la clase de control MIXERCONTROL_CONTROLTYPE_CUSTOM.

Metrics.dwReserved[6]

Reservado; no usar.

Comentarios

Nota:

El encabezado mmeapi.h define MIXERCONTROL como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado mmeapi.h

Consulte también

Estructuras de mezclador de audio

Mezcladores de audio

MIXERLINECONTROLS

mixerGetLineControls