Compartilhar via


Estrutura MIXERCONTROLW (mmeapi.h)

A estrutura MIXERCONTROL descreve o estado e as métricas de um único controle para uma linha de áudio.

Sintaxe

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;

Membros

cbStruct

Tamanho, em bytes, da estrutura MIXERCONTROL .

dwControlID

Identificador definido pelo mixer de áudio que se refere exclusivamente ao controle descrito pela estrutura MIXERCONTROL . Esse identificador pode estar em qualquer formato compatível com o dispositivo de mixer. Um aplicativo deve usar esse identificador apenas como um identificador abstrato. Nenhum dos dois controles para um único dispositivo de mixer pode ter o mesmo identificador de controle.

dwControlType

Classe do controle para o qual o identificador é especificado em dwControlID. Um aplicativo deve usar essas informações para exibir o controle apropriado para entrada do usuário. Um aplicativo também pode exibir gráficos personalizados com base na classe de controle ou pesquisar uma classe de controle específica em uma linha específica. Se um aplicativo não souber sobre uma classe de controle, esse controle deverá ser ignorado. Há oito classificações de classe de controle, cada uma com um ou mais tipos de controle padrão:

Nome Descrições
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

Sinalizadores de status e suporte para o controle de linha de áudio. Os seguintes valores são definidos:

Nome Descrição
MIXERCONTROL_CONTROLF_DISABLED
O controle está desabilitado, talvez devido a outras configurações para o hardware do mixer e não pode ser usado. Um aplicativo pode ler as configurações atuais de um controle desabilitado, mas não pode aplicar configurações.
MIXERCONTROL_CONTROLF_MULTIPLE
O controle tem duas ou mais configurações por canal. Um equalizador, por exemplo, requer esse sinalizador porque cada faixa de frequência pode ser definida como um valor diferente. Um equalizador que afeta os dois canais de uma linha estéreo de forma uniforme também especificará o sinalizador MIXERCONTROL_CONTROLF_UNIFORM.
MIXERCONTROL_CONTROLF_UNIFORM
O controle atua em todos os canais de uma linha multicanal de forma uniforme. Por exemplo, um controle que silencia os dois canais de uma linha estéreo definiria esse sinalizador. A maioria dos controles MIXERCONTROL_CONTROLTYPE_MUX e MIXERCONTROL_CONTROLTYPE_MIXER também especificam o sinalizador MIXERCONTROL_CONTROLF_UNIFORM.

cMultipleItems

Número de itens por canal que compõem um controle MIXERCONTROL_CONTROLF_MULTIPLE. Esse número é sempre dois ou maior para controles de vários itens. Se o controle não for um controle de vários itens, não use este membro; será zero.

szShortName[MIXER_SHORT_NAME_CHARS]

Cadeia de caracteres curta que descreve o controle de linha de áudio especificado por dwControlID. Essa descrição deve ser apropriada para usar como um rótulo conciso para o controle.

szName[MIXER_LONG_NAME_CHARS]

Cadeia de caracteres que descreve o controle de linha de áudio especificado por dwControlID. Essa descrição deve ser apropriada para usar como uma descrição completa para o controle.

Bounds

União de tipos de limite.

Bounds.DUMMYSTRUCTNAME

Bounds.DUMMYSTRUCTNAME.lMinimum

Valor mínimo assinado para um controle que tem uma natureza de limite assinada. Este membro não pode ser usado em conjunto com dwMinimum.

Bounds.DUMMYSTRUCTNAME.lMaximum

Valor máximo assinado para um controle que tem uma natureza de limite assinada. Este membro não pode ser usado em conjunto com dwMaximum.

Bounds.DUMMYSTRUCTNAME2

Bounds.DUMMYSTRUCTNAME2.dwMinimum

Valor mínimo não assinado para um controle que tem uma natureza de limite sem sinal. Este membro não pode ser usado em conjunto com lMinimum.

Bounds.DUMMYSTRUCTNAME2.dwMaximum

Valor máximo não assinado para um controle que tem uma natureza de limite sem sinal. Este membro não pode ser usado em conjunto com lMaximum.

Bounds.dwReserved[6]

Reservado; não use.

Metrics

União de métricas de limite.

Metrics.cSteps

Número de intervalos discretos dentro da união especificada para um controle especificado pelo membro Bounds . Esse membro se sobrepõe aos outros membros do membro da estrutura Métricas e não pode ser usado em conjunto com esses membros.

Metrics.cbCustomData

Tamanho, em bytes, necessário para conter o estado de uma classe de controle personalizada. Esse membro é apropriado apenas para a classe de controle MIXERCONTROL_CONTROLTYPE_CUSTOM.

Metrics.dwReserved[6]

Reservado; não use.

Comentários

Observação

O cabeçalho mmeapi.h define MIXERCONTROL como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho mmeapi.h

Confira também

Estruturas do Mixer de Áudio

Combinadores de áudio

MIXERLINECONTROLS

Mixergetlinecontrols