Struttura MIXERCONTROLW (mmeapi.h)

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

Sintassi

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;

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ò mai 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 cercare una determinata classe di controllo in una riga specifica. Se un'applicazione non conosce una classe di controllo, questo controllo deve essere ignorato. Sono disponibili otto classificazioni della classe 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

Stato e flag di supporto per il controllo linea audio. I valori seguenti sono definiti:

Nome Descrizione
MIXERCONTROL_CONTROLF_DISABLED
Il controllo è disabilitato, forse a causa di altre impostazioni per l'hardware del mixer e non può essere usato. 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 di 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 imposta questo flag. La maggior parte dei controlli MIXERCONTROL_CONTROLTYPE_MUX e MIXERCONTROL_CONTROLTYPE_MIXER specificare 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 maggiore per i controlli a più elementi. Se il controllo non è un controllo a più elementi, non usare 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 minimo firmato per un controllo con natura di limite firmato. Questo membro non può essere usato in combinazione con dwMinimum.

Bounds.DUMMYSTRUCTNAME.lMaximum

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

Bounds.DUMMYSTRUCTNAME2

Bounds.DUMMYSTRUCTNAME2.dwMinimum

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

Bounds.DUMMYSTRUCTNAME2.dwMaximum

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

Bounds.dwReserved[6]

Riservati; non usare.

Metrics

Unione delle metriche di 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 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.

Commenti

Nota

L'intestazione mmeapi.h definisce MIXERCONTROL come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

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 del mixer audio

Mixer audio

MIXERLINECONTROLS

mixerGetLineControls