Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[O recurso associado a esta página, Waveform Audio, é um recurso legado. Foi substituído por WASAPI e Audio Graphs. WASAPI e Audio Graphs foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize WASAPI e Audio Graphs em vez de Waveform Audio, sempre que possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
Para ver se um dispositivo suporta um formato específico (padrão ou não padrão), você pode chamar a função waveOutOpen com o sinalizador WAVE_FORMAT_QUERY. O exemplo a seguir usa essa técnica para determinar se um dispositivo waveform-audio oferece suporte a um formato especificado.
// Determines whether the specified waveform-audio output device
// supports a specified waveform-audio format. Returns
// MMSYSERR_NOERROR if the format is supported, WAVEERR_BADFORMAT if
// the format is not supported, and one of the other MMSYSERR_ error
// codes if there are other errors encountered in opening the
// specified waveform-audio device.
MMRESULT IsFormatSupported(LPWAVEFORMATEX pwfx, UINT uDeviceID)
{
return (waveOutOpen(
NULL, // ptr can be NULL for query
uDeviceID, // the device identifier
pwfx, // defines requested format
NULL, // no callback
NULL, // no instance data
WAVE_FORMAT_QUERY)); // query only, do not open device
}
Esta técnica para determinar o suporte a formatos não padronizados também se aplica a dispositivos de entrada de áudio em forma de onda. A única diferença é que a função waveInOpen é usada no lugar de waveOutOpen para consultar o suporte ao formato.
Para determinar se um determinado formato de dados waveform-audio é suportado por qualquer um dos dispositivos waveform-audio em um sistema, use a técnica ilustrada no exemplo anterior, mas especifique a constante WAVE_MAPPER para o parâmetro uDeviceID.