Compartilhar via


Função waveInOpen (mmeapi.h)

A função waveInOpen abre o dispositivo de entrada waveform-audio especificado para gravação.

Sintaxe

MMRESULT waveInOpen(
  LPHWAVEIN       phwi,
  UINT            uDeviceID,
  LPCWAVEFORMATEX pwfx,
  DWORD_PTR       dwCallback,
  DWORD_PTR       dwInstance,
  DWORD           fdwOpen
);

Parâmetros

phwi

Ponteiro para um buffer que recebe um identificador que identifica o dispositivo de entrada de áudio de forma de onda aberta. Use esse identificador para identificar o dispositivo ao chamar outras funções de entrada de áudio de forma de onda. Esse parâmetro poderá ser NULL se WAVE_FORMAT_QUERY for especificado para fdwOpen.

uDeviceID

Identificador do dispositivo de entrada waveform-audio a ser aberto. Pode ser um identificador de dispositivo ou um identificador de um dispositivo de entrada de áudio de forma de onda aberta. Você pode usar o sinalizador a seguir em vez de um identificador de dispositivo.

Valor Significado
WAVE_MAPPER A função seleciona um dispositivo de entrada waveform-audio capaz de gravar no formato especificado.

pwfx

Ponteiro para uma estrutura WAVEFORMATEX que identifica o formato desejado para gravar dados de áudio de forma de onda. Você pode liberar essa estrutura imediatamente após o retorno de waveInOpen .

dwCallback

Ponteiro para uma função de retorno de chamada fixa, um identificador de evento, um identificador para uma janela ou o identificador de um thread a ser chamado durante a gravação de áudio de forma de onda para processar mensagens relacionadas ao progresso da gravação. Se nenhuma função de retorno de chamada for necessária, esse valor poderá ser zero. Para obter mais informações sobre a função de retorno de chamada, consulte waveInProc.

dwInstance

Dados de instância de usuário passados para o mecanismo de retorno de chamada. Esse parâmetro não é usado com o mecanismo de retorno de chamada de janela.

fdwOpen

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

Valor Significado
CALLBACK_EVENT O parâmetro dwCallback é um identificador de evento.
CALLBACK_FUNCTION O parâmetro dwCallback é um endereço de procedimento de retorno de chamada.
CALLBACK_NULL Nenhum mecanismo de retorno de chamada. Essa é a configuração padrão.
CALLBACK_THREAD O parâmetro dwCallback é um identificador de thread.
CALLBACK_WINDOW O parâmetro dwCallback é um identificador de janela.
WAVE_MAPPED_DEFAULT_COMMUNICATION_DEVICE Se esse sinalizador for especificado e o parâmetro uDeviceID for WAVE_MAPPER, a função abrirá o dispositivo de comunicação padrão.

Esse sinalizador só se aplica quando uDeviceID é igual a WAVE_MAPPER.

Nota Requer o Windows 7
 
WAVE_FORMAT_DIRECT Se esse sinalizador for especificado, o driver do ACM não executará conversões nos dados de áudio.
WAVE_FORMAT_QUERY A função consulta o dispositivo para determinar se ele dá suporte ao formato determinado, mas não abre o dispositivo.
WAVE_MAPPED O parâmetro uDeviceID especifica um dispositivo de áudio de forma de onda a ser mapeado pelo mapeador de ondas.

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.
MMSYSERR_BADDEVICEID
O identificador de dispositivo especificado está fora do intervalo.
MMSYSERR_NODRIVER
Nenhum driver de dispositivo está presente.
MMSYSERR_NOMEM
Não é possível alocar ou bloquear memória.
WAVERR_BADFORMAT
Tentativa de abrir com um formato de áudio de forma de onda sem suporte.

Comentários

Use a função waveInGetNumDevs para determinar o número de dispositivos de entrada waveform-audio presentes no sistema. O identificador de dispositivo especificado por uDeviceID varia de zero a um menor que o número de dispositivos presentes. A constante WAVE_MAPPER também pode ser usada como um identificador de dispositivo.

Se você optar por ter uma janela ou thread recebendo informações de retorno de chamada, as seguintes mensagens são enviadas para o procedimento de janela ou thread para indicar o progresso da entrada waveform-audio: MM_WIM_OPEN, MM_WIM_CLOSE e MM_WIM_DATA.

Se você optar por ter uma função recebendo informações de retorno de chamada, as seguintes mensagens são enviadas para a função para indicar o progresso da entrada waveform-audio: WIM_OPEN, WIM_CLOSE e WIM_DATA.

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

Áudio de forma de onda

Funções waveform