Structure MIXERCONTROLW (mmeapi.h)

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

Syntaxe

typedef struct tagMIXERCONTROLW {
  DWORD cbStruct;
  DWORD dwControlID;
  DWORD dwControlType;
  DWORD fdwControl;
  DWORD cMultipleItems;
  WCHAR szShortName[MIXER_SHORT_NAME_CHARS];
  WCHAR 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;
} MIXERCONTROLW, *PMIXERCONTROLW, *LPMIXERCONTROLW;

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 de mixage. Une application doit utiliser cet identificateur uniquement comme handle abstrait. Aucun contrôle d’un seul appareil de mixage ne peut 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 en fonction de 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ôles 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 :

Name Description
MIXERCONTROL_CONTROLF_DISABLED
Le contrôle est désactivé, peut-être en raison d’autres paramètres du matériel du 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 au moins deux paramètres par canal. Un égaliseur, par exemple, nécessite 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 de 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 désactive les deux canaux d’une ligne stéréo définirait cet indicateur. La plupart des contrôles MIXERCONTROL_CONTROLTYPE_MUX et MIXERCONTROL_CONTROLTYPE_MIXER spécifient également l’indicateur MIXERCONTROL_CONTROLF_UNIFORM.

cMultipleItems

Nombre d’éléments par canal qui constituent un contrôle MIXERCONTROL_CONTROLF_MULTIPLE. Ce nombre est toujours supérieur ou égal à deux 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 pour le contrôle.

Bounds

Union de 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 non signée minimale 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 non signée maximale 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é ; ne pas utiliser.

Metrics

Union de 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 structure metrics 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é ; ne pas utiliser.

Notes

Notes

L’en-tête mmeapi.h définit MIXERCONTROL comme un 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.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête mmeapi.h

Voir aussi

Structures de mixage audio

Mixeurs audio

MIXERLINECONTROLS

mixerGetLineControls