Compartilhar via


Função mixerOpen (mmeapi.h)

A função mixerOpen abre um dispositivo de mixer especificado e garante que o dispositivo não será removido até que o aplicativo feche o identificador.

Sintaxe

MMRESULT mixerOpen(
  LPHMIXER  phmx,
  UINT      uMxId,
  DWORD_PTR dwCallback,
  DWORD_PTR dwInstance,
  DWORD     fdwOpen
);

Parâmetros

phmx

Ponteiro para uma variável que receberá um identificador que identifica o dispositivo de mixer aberto. Use esse identificador para identificar o dispositivo ao chamar outras funções de mixer de áudio. Esse parâmetro não pode ser NULL.

uMxId

Identificador do dispositivo de mixer a ser aberto. Use um identificador de dispositivo válido ou qualquer HMIXEROBJ (consulte a função mixerGetID para obter uma descrição dos identificadores de objeto do mixer). Um "mapeador" para dispositivos de mixer de áudio não existe no momento, portanto, um identificador de dispositivo de mixer de -1 não é válido.

dwCallback

Identificador para uma janela chamada quando o estado de uma linha de áudio e/ou controle associado ao dispositivo que está sendo aberto é alterado. Especifique NULL para esse parâmetro se nenhum mecanismo de retorno de chamada for usado.

dwInstance

Reservado. Deve ser zero.

fdwOpen

Sinalizadores para abrir o dispositivo. Os valores a seguir são definidos.

Valor Significado
CALLBACK_WINDOW O parâmetro dwCallback é considerado um HWND (identificador de janela).
MIXER_OBJECTF_AUX O parâmetro uMxId é um identificador de dispositivo auxiliar no intervalo de zero a um a menos do que o número de dispositivos retornados pela função auxGetNumDevs .
MIXER_OBJECTF_HMIDIIN O parâmetro uMxId é o identificador de um dispositivo de entrada MIDI. Esse identificador deve ter sido retornado pela função midiInOpen .
MIXER_OBJECTF_HMIDIOUT O parâmetro uMxId é o identificador de um dispositivo de saída MIDI. Esse identificador deve ter sido retornado pela função midiOutOpen .
MIXER_OBJECTF_HMIXER O parâmetro uMxId é um identificador de dispositivo de mixer retornado pela função mixerOpen . Esse sinalizador é opcional.
MIXER_OBJECTF_HWAVEIN O parâmetro uMxId é um identificador de entrada waveform-audio retornado pela função waveInOpen .
MIXER_OBJECTF_HWAVEOUT O parâmetro uMxId é um identificador de saída waveform-audio retornado pela função waveOutOpen .
MIXER_OBJECTF_MIDIIN O parâmetro uMxId é o identificador de um dispositivo de entrada MIDI. Esse identificador deve estar no intervalo de zero a um menor que o número de dispositivos retornados pela função midiInGetNumDevs .
MIXER_OBJECTF_MIDIOUT O parâmetro uMxId é o identificador de um dispositivo de saída MIDI. Esse identificador deve estar no intervalo de zero a um menor que o número de dispositivos retornados pela função midiOutGetNumDevs .
MIXER_OBJECTF_MIXER O parâmetro uMxId é um identificador de dispositivo de mixer no intervalo de zero a um menor que o número de dispositivos retornados pela função mixerGetNumDevs . Esse sinalizador é opcional.
MIXER_OBJECTF_WAVEIN O parâmetro uMxId é o identificador de um dispositivo de entrada waveform-audio no intervalo de zero a um menor que o número de dispositivos retornados pela função waveInGetNumDevs .
MIXER_OBJECTF_WAVEOUT O parâmetro uMxId é o identificador de um dispositivo de saída waveform-audio no intervalo de zero a um menor que o número de dispositivos retornados pela função waveOutGetNumDevs .

Valor retornado

Retorna MMSYSERR_NOERROR se tiver êxito ou um erro de outra forma. Os valores de erro possíveis incluem o seguinte.

Código de retorno Descrição
MMSYSERR_ALLOCATED
O recurso especificado já está alocado pelo número máximo de clientes possível.
MMSYSERR_BADDEVICEID
O parâmetro uMxId especifica um identificador de dispositivo inválido.
MMSYSERR_INVALFLAG
Um ou mais sinalizadores são inválidos.
MMSYSERR_INVALHANDLE
O parâmetro uMxId especifica um identificador inválido.
MMSYSERR_INVALPARAM
Um ou mais parâmetros são inválidos.
MMSYSERR_NODRIVER
Nenhum dispositivo de mixer está disponível para o objeto especificado por uMxId. Observe que o local referenciado por uMxId também conterá o valor –1.
MMSYSERR_NOMEM
Não é possível alocar recursos.

Comentários

Use a função mixerGetNumDevs para determinar o número de dispositivos de mixer de áudio presentes no sistema. O identificador de dispositivo especificado por uMxId varia de zero a um menor que o número de dispositivos presentes.

Se uma janela for escolhida para receber informações de retorno de chamada, as mensagens MM_MIXM_LINE_CHANGE e MM_MIXM_CONTROL_CHANGE serão enviadas para a função de procedimento de janela para indicar quando uma linha de áudio ou estado de controle é alterado. Para ambas as mensagens, o parâmetro wParam é o identificador do dispositivo de mixer. O parâmetro lParam é o identificador de linha para MM_MIXM_LINE_CHANGE ou o identificador de controle para MM_MIXM_CONTROL_CHANGE que alterou o estado.

Para consultar o suporte ao mixer de áudio ou um dispositivo de mídia, use a função mixerGetID .

Em sistemas de 64 bits, essa função pode não funcionar conforme o esperado em situações em que você passa um ponteiro LPHWAVEOUT de 64 bits no parâmetro uMxId , porque o parâmetro uMxId é truncado para 32 bits.

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]
Plataforma de Destino Windows
Cabeçalho mmeapi.h (inclua Windows.h)
Biblioteca Winmm.lib
DLL Winmm.dll

Confira também

Funções de mixer de áudio

Combinadores de áudio