Struttura MIXERCONTROL (mmeapi.h)

La struttura MIXERCONTROL descrive lo stato e le metriche di un singolo controllo per una linea audio.

Sintassi

typedef struct tMIXERCONTROL {
  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;
} MIXERCONTROL, *PMIXERCONTROL, *LPMIXERCONTROL;

Members

cbStruct

Dimensioni, in byte, della struttura MIXERCONTROL .

dwControlID

Identificatore definito dal mixer audio che fa riferimento in modo univoco al controllo descritto dalla struttura MIXERCONTROL . Questo identificatore può essere in qualsiasi formato supportato dal dispositivo mixer. Un'applicazione deve usare questo identificatore solo come handle astratto. Nessun controllo per un singolo dispositivo mixer può avere lo stesso identificatore di controllo.

dwControlType

Classe del controllo per cui viene specificato l'identificatore in dwControlID. Un'applicazione deve usare queste informazioni per visualizzare il controllo appropriato per l'input dell'utente. Un'applicazione può anche visualizzare grafica personalizzata in base alla classe di controllo o alla ricerca di una determinata classe di controllo su una linea specifica. Se un'applicazione non conosce una classe di controllo, questo controllo deve essere ignorato. Sono disponibili otto classificazioni di classi di controllo, ognuna con uno o più tipi di controllo standard:

Nome Descrizioni
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

Flag di stato e supporto per il controllo linea audio. Vengono definiti i valori seguenti:

Nome Descrizione
MIXERCONTROL_CONTROLF_DISABLED
Il controllo è disabilitato, forse a causa di altre impostazioni per l'hardware del mixer e non può essere utilizzato. Un'applicazione può leggere le impostazioni correnti da un controllo disabilitato, ma non può applicare le impostazioni.
MIXERCONTROL_CONTROLF_MULTIPLE
Il controllo ha due o più impostazioni per canale. Un equalizzatore, ad esempio, richiede questo flag perché ogni banda di frequenza può essere impostata su un valore diverso. Un equalizzatore che influisce su entrambi i canali di una linea stereo in modo uniforme specifica anche il flag MIXERCONTROL_CONTROLF_UNIFORM.
MIXERCONTROL_CONTROLF_UNIFORM
Il controllo agisce su tutti i canali di una linea multicanale in modo uniforme. Ad esempio, un controllo che disattiva entrambi i canali di una linea stereo imposterebbe questo flag. La maggior parte dei controlli MIXERCONTROL_CONTROLTYPE_MUX e MIXERCONTROL_CONTROLTYPE_MIXER specifica anche il flag di MIXERCONTROL_CONTROLF_UNIFORM.

cMultipleItems

Numero di elementi per canale che costituiscono un controllo MIXERCONTROL_CONTROLF_MULTIPLE. Questo numero è sempre due o superiore per i controlli a più elementi. Se il controllo non è un controllo a più elementi, non utilizzare questo membro; sarà zero.

szShortName[MIXER_SHORT_NAME_CHARS]

Stringa breve che descrive il controllo linea audio specificato da dwControlID. Questa descrizione deve essere appropriata per l'uso come etichetta concisa per il controllo.

szName[MIXER_LONG_NAME_CHARS]

Stringa che descrive il controllo linea audio specificato da dwControlID. Questa descrizione deve essere appropriata per l'uso come descrizione completa per il controllo.

Bounds

Unione dei tipi di limite.

Bounds.DUMMYSTRUCTNAME

Bounds.DUMMYSTRUCTNAME.lMinimum

Valore con segno minimo per un controllo con natura limite firmato. Questo membro non può essere utilizzato insieme a dwMinimum.

Bounds.DUMMYSTRUCTNAME.lMaximum

Valore massimo con segno per un controllo con natura limite firmato. Questo membro non può essere utilizzato insieme a dwMaximum.

Bounds.DUMMYSTRUCTNAME2

Bounds.DUMMYSTRUCTNAME2.dwMinimum

Valore minimo senza segno per un controllo con natura limite senza segno. Questo membro non può essere utilizzato insieme a lMinimum.

Bounds.DUMMYSTRUCTNAME2.dwMaximum

Valore massimo senza segno per un controllo con natura limite senza segno. Questo membro non può essere utilizzato insieme a lMaximum.

Bounds.dwReserved[6]

Riservati; non usare.

Metrics

Unione delle metriche limite.

Metrics.cSteps

Numero di intervalli discreti all'interno dell'unione specificata per un controllo specificato dal membro Bounds . Questo membro si sovrappone agli altri membri del membro della struttura Metrics e non può essere usato insieme a tali membri.

Metrics.cbCustomData

Dimensioni, in byte, necessarie per contenere lo stato di una classe di controllo personalizzata. Questo membro è appropriato solo per la classe di controllo MIXERCONTROL_CONTROLTYPE_CUSTOM.

Metrics.dwReserved[6]

Riservati; non usare.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione mmeapi.h

Vedi anche

Strutture mixer audio

Mixer audio

MIXERLINECONTROLS

mixerGetLineControls