waveOutOpen
9/8/2008
Essa função abrirá um dispositivo saída de forma de onda especificada para reprodução.
Syntax
MMRESULT waveOutOpen(
LPHWAVEOUT phwo,
UINT uDeviceID,
LPWAVEFORMATEX pwfx,
DWORD dwCallback,
DWORD dwInstance,
DWORD fdwOpen
);
Parameters
- Phwo
Endereço preenchido com um identificador que identifica o aberto em formato wave-áudio dispositivo saída. Use o identificador para identificar o dispositivo quando chamado outra forma de onda-áudio funções saída. Este parâmetro pode ser NULL se o sinalizador WAVE_FORMAT_QUERY for especificada para fdwOpen.
uDeviceID
Identificador de dispositivo da forma de onda-áudio dispositivo saída para aberto. Você pode usar o seguinte sinalizador instead of um identificador dispositivo.Valor Descrição WAVE_MAPPER
A função seleciona uma forma de onda-áudio saída dispositivo capaz de reproduzir o formato especificado.
- pwfx
Ponteiro para uma estrutura WAVEFORMATEX (Waveform Audio) que identifica o formato da forma de onda-áudio dados sejam enviadas para o dispositivo. Você pode livre essa estrutura imediatamente após passando-a waveOutOpen.
- dwCallback
Especifica o endereço de uma função callback fixa, um identificador evento, um identificador para uma janela, ou o identificador de um segmento seja chamado durante em formato wave-áudio reprodução às mensagens processo relacionado para o progresso da reprodução. Se nenhuma função callback é exigido, esse valor pode ser zero.
- dwInstance
Especifica usuário - instância dados passados para o mecanismo callback. Este parâmetro não é usado com o mecanismo callback janela.
fdwOpen
Sinalizadores para abrir o dispositivo. A seguinte tabela mostra os valores possíveis.Valor Descrição CALLBACK_EVENT
O dwCallback parâmetro é um identificador evento.
CALLBACK_FUNCTION
O dwCallback parâmetro é um endereço procedimento callback.
CALLBACK_NULL
Nenhum mecanismo callback. Essa é a configuração padrão.
CALLBACK_THREAD
O dwCallback parâmetro é um identificador segmento.
CALLBACK_WINDOW
O dwCallback parâmetro é um identificador janela.
WAVE_ALLOWSYNC
Se este sinalizador for especificado, um síncrono em formato wave-áudio dispositivo pode ser aberto. Se este sinalizador não for especificado ao abrir um síncrono driver, o dispositivo não será aberto.
WAVE_FORMAT_DIRECT
Se este sinalizador for especificado, o driver ACM Não executar conversões no áudio dados.
WAVE_FORMAT_QUERY
Se este sinalizador for especificado, waveOutOpen Consulta o dispositivo para determinar se ele oferece suporte o formato especificado, mas o dispositivo não está realmente aberto.
WAVE_MAPPED
Se este sinalizador for especificado, o uDeviceID parâmetro especifica uma forma de onda-áudio dispositivo a ser mapeados para por recurso de mapeamento de onda.
Return Value
Um dos valores descritos a seguinte tabela é retornada.
Valor | Descrição |
---|---|
MMSYSERR_NOERROR |
O sucesso. |
MMSYSERR_INVALHANDLE |
Especificado identificador dispositivo é inválido. |
MMSYSERR_BADDEVICEID |
Identificador dispositivo especificado é out of intervalo. |
MMSYSERR_NODRIVER |
Nenhuma driver de dispositivo está presente. |
MMSYSERR_NOMEM |
Não é possível alocar ou memória bloqueio. |
WAVERR_BADFORMAT |
Tentou aberto com um sem suporte em formato wave-formato de áudio. |
WAVERR_SYNC |
Dispositivo é síncrono, mas waveOutOpen foi chamado sem usar o sinalizador WAVE_ALLOWSYNC. |
Remarks
Para todas as plataformas
O waveOutOpen função cria dispositivo alças instância que de outras forma de onda saída API funções (por exemplo, waveOutWrite) usado para distinguir um áudio transmitir a partir de outro. Dispositivos de áudio que mistura hardware suporte pode permitir múltiplo dispositivo instâncias que devem ser criado e executado no mesmo tempo.
Além disso, Windows Embedded CE oferece software mistura de múltiplo áudio fluxos. Quando um aplicativo chama um waveOutOpen, a forma de onda API Gerenciador roteia a solicitação para o driver de dispositivo, se ela der suporte a hardware mixagem, ou o mixer software caso contrário.
Use a função waveOutGetNumDevs para determinar o número da forma de onda-áudio dispositivos saída apresentam no sistema. Se o valor especificado pelo uDeviceID parâmetro é um identificador dispositivo, ele pode variar de zero para uma menor do que o número de dispositivos presentes. A constante WAVE_MAPPER também pode ser usado como um identificador dispositivo.
A estrutura apontada pelo pwfx pode ser estendido para incluir informações Type-specific para certos formatos dados usando a estrutura WAVEFORMATEX (Waveform Audio) para especificar o comprimento dos dados adicionais.
Se você escolher para ter uma janela ou segmento receber informações callback, a seguinte mensagens são enviadas para a função procedimento janela para indicar o progresso de forma de onda-áudio saída: MM_WOM_OPEN, MM_WOM_CLOSE e MM_WOM_DONE.
Se você escolher para ter uma função receber informações callback, a seguinte mensagens são enviadas para a função para indicar o progresso de forma de onda-áudio saída: WOM_OPEN, WOM_CLOSE e WOM_DONE.
As notificações de evento retornos de chamada são acionadas quando um ou mais buffers são enviados voltar para o aplicativo. Este é a mesma condição que poderia gerar uma mensagem MM_WOM_DONE para callback uma janela ou uma mensagem WOM_DONE para callback uma função.
Para Windows incorporado CE
O áudio driver é responsável por manter controlar as instâncias que estão atualmente aberto. Se o driver oferecer suporte somente a uma instância única, que geralmente a maiúsculas e minúsculas, e o WODM_OPEN ou WIDM_OPEN mensagens devem falhar com um código de retorno de MMSYSERR_ALLOCATED.
Requirements
Header | mmsystem.h |
Library | coredll.lib |
Windows Embedded CE | Windows CE 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |