Поделиться через


Особенности клиентов waveOut

Вызов waveOutOpen возвращает WAVERR_BADFORMAT, если драйвер не поддерживает указанный формат волны.

В настоящее время Microsoft Windows не поддерживает циклическое заголовок волны в формате, отличном от PCM. Попытка циклического цикла в формате, отличном от PCM, завершится сбоем, но система не обнаружит сбой до этапа отправки заголовков (не подготовки заголовков) из-за архитектурных ограничений. В частности, вызов waveOutPrepareHeader может принимать заголовок волны, отличный от PCM, с WHDR_BEGINLOOP и (или) WHDR_ENDLOOP заданы в dwFlags, но последующий вызов waveOutWrite завершается сбоем и возвращает MMSYSERR_INVALPARAM. Однако если WHDR_BEGINLOOP и WHDR_ENDLOOP не заданы в dwFlags, указание dwLoops>1 не приведет к сбою waveOutWrite .

При воспроизведении данных, не относящихся к PCM, вызов waveOutBreakLoop завершается сбоем с MMSYSERR_INVALPARAM кода возврата.