Partager via


Structure MIXERCONTROLA (mmeapi.h)

La structure MIXERCONTROL décrit l’état et les métriques d’un seul contrôle pour une ligne audio.

Syntaxe

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;

Membres

cbStruct

Taille, en octets, de la structure MIXERCONTROL .

dwControlID

Identificateur défini par le mixeur audio qui fait référence de manière unique au contrôle décrit par la structure mixerCONTROL . Cet identificateur peut être dans n’importe quel format pris en charge par l’appareil mixer. Une application doit utiliser cet identificateur uniquement comme handle abstrait. Aucun des deux contrôles d’un seul appareil mixeur ne peut jamais avoir le même identificateur de contrôle.

dwControlType

Classe du contrôle pour lequel l’identificateur est spécifié dans dwControlID. Une application doit utiliser ces informations pour afficher le contrôle approprié pour l’entrée de l’utilisateur. Une application peut également afficher des graphiques personnalisés basés sur la classe de contrôle ou rechercher une classe de contrôle particulière sur une ligne spécifique. Si une application ne connaît pas une classe de contrôle, ce contrôle doit être ignoré. Il existe huit classifications de classes de contrôle, chacune avec un ou plusieurs types de contrôle standard :

Nom Descriptions
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

Indicateurs d’état et de prise en charge pour le contrôle de ligne audio. Les valeurs suivantes sont définies :

Nom Description
MIXERCONTROL_CONTROLF_DISABLED
Le contrôle est désactivé, peut-être en raison d’autres paramètres pour le matériel de mélangeur et ne peut pas être utilisé. Une application peut lire les paramètres actuels à partir d’un contrôle désactivé, mais elle ne peut pas appliquer les paramètres.
MIXERCONTROL_CONTROLF_MULTIPLE
Le contrôle a deux paramètres ou plus par canal. Un égaliseur, par exemple, requiert cet indicateur, car chaque bande de fréquence peut être définie sur une valeur différente. Un égaliseur qui affecte les deux canaux d’une ligne stéréo d’une manière uniforme spécifie également l’indicateur MIXERCONTROL_CONTROLF_UNIFORM.
MIXERCONTROL_CONTROLF_UNIFORM
Le contrôle agit sur tous les canaux d’une ligne multicanal de manière uniforme. Par exemple, un contrôle qui mute les deux canaux d’une ligne stéréo définit cet indicateur. La plupart des contrôles MIXERCONTROL_CONTROLTYPE_MUX et MIXERCONTROL_CONTROLTYPE_MIXER spécifient également l’indicateur de MIXERCONTROL_CONTROLF_UNIFORM.

cMultipleItems

Nombre d’éléments par canal qui constituent un contrôle MIXERCONTROL_CONTROLF_MULTIPLE. Ce nombre est toujours deux ou supérieur pour les contrôles à plusieurs éléments. Si le contrôle n’est pas un contrôle à plusieurs éléments, n’utilisez pas ce membre ; ce sera zéro.

szShortName[MIXER_SHORT_NAME_CHARS]

Chaîne courte qui décrit le contrôle de ligne audio spécifié par dwControlID. Cette description doit être appropriée pour être utilisée comme étiquette concise pour le contrôle.

szName[MIXER_LONG_NAME_CHARS]

Chaîne qui décrit le contrôle de ligne audio spécifié par dwControlID. Cette description doit être appropriée pour être utilisée comme description complète du contrôle.

Bounds

Union des types de limites.

Bounds.DUMMYSTRUCTNAME

Bounds.DUMMYSTRUCTNAME.lMinimum

Valeur signée minimale pour un contrôle qui a une nature de limite signée. Ce membre ne peut pas être utilisé conjointement avec dwMinimum.

Bounds.DUMMYSTRUCTNAME.lMaximum

Valeur signée maximale pour un contrôle qui a une nature de limite signée. Ce membre ne peut pas être utilisé conjointement avec dwMaximum.

Bounds.DUMMYSTRUCTNAME2

Bounds.DUMMYSTRUCTNAME2.dwMinimum

Valeur minimale non signée pour un contrôle qui a une nature de limite non signée. Ce membre ne peut pas être utilisé conjointement avec lMinimum.

Bounds.DUMMYSTRUCTNAME2.dwMaximum

Valeur maximale non signée pour un contrôle qui a une nature de limite non signée. Ce membre ne peut pas être utilisé conjointement avec lMaximum.

Bounds.dwReserved[6]

Réservé; n’utilisez pas.

Metrics

Union des métriques de limite.

Metrics.cSteps

Nombre de plages discrètes au sein de l’union spécifiées pour un contrôle spécifié par le membre Bounds. Ce membre chevauche les autres membres de la Metrics membre de structure et ne peut pas être utilisé conjointement avec ces membres.

Metrics.cbCustomData

Taille, en octets, requise pour contenir l’état d’une classe de contrôle personnalisée. Ce membre est approprié uniquement pour la classe de contrôle MIXERCONTROL_CONTROLTYPE_CUSTOM.

Metrics.dwReserved[6]

Réservé; n’utilisez pas.

Remarques

Note

L’en-tête mmeapi.h définit MIXERCONTROL comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
d’en-tête mmeapi.h

Voir aussi

structures de mixage audio

Mixeurs audio

MIXERLINECONTROLS

mixerGetLineControls