Condividi tramite


Struttura MIXERCONTROLW (mmeapi.h)

La struttura mixer 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;

Membri

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 altro 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 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. Esistono 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

Stato e flag di supporto per il controllo linea audio. Sono 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 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 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 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 essere utilizzata come descrizione completa per il controllo.

Bounds

Unione dei tipi di limite.

Bounds.DUMMYSTRUCTNAME

Bounds.DUMMYSTRUCTNAME.lMinimum

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

Bounds.DUMMYSTRUCTNAME.lMaximum

Valore massimo con segno per un controllo con natura limite firmato. Questo membro non può essere utilizzato in combinazione con 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 usato insieme a lMaximum.

Bounds.dwReserved[6]

Riservato; non usare.

Metrics

Unione delle metriche limite.

Metrics.cSteps

Numero di intervalli discreti all'interno dell'unione specificata per un controllo specificato dal membro limiti . Questo membro si sovrappone agli altri membri del membro della struttura metrica 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 del controllo MIXERCONTROL_CONTROLTYPE_CUSTOM.

Metrics.dwReserved[6]

Riservato; non usare.

Osservazioni

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 indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
intestazione mmeapi.h

Vedere anche

strutture mixer audio

Mixer audio

MIXERLINECONTROLS

mixerGetLineControls