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


Управление записью Waveform-Audio

[Функция, связанная с этой страницей, Waveform Audio, является устаревшей функцией. Он был заменен WASAPI и Audio Graphs. WasAPI и Audio Graphs оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код по возможности использовал WASAPI и Звуковые графы вместо Waveform Audio. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

После открытия устройства ввода waveform-audio можно начать запись звуковых данных. Звуковые данные формата волны записываются в предоставляемые приложением буферы, заданные структурой WAVEHDR . Эти блоки данных должны быть подготовлены до их использования; Дополнительные сведения см. в разделе Блоки аудиоданных.

Windows предоставляет следующие функции для управления записью звуковых сигналов.

Функция Описание
waveInAddBuffer Отправляет буфер драйверу устройства, чтобы его можно было заполнить записанными звуковыми данными.
waveInReset Останавливает запись звуковых сигналов и помечает все ожидающие буферы как выполненные.
waveInStart Начинает запись звукового формата волн.
waveInStop Останавливает запись звукового формата волн.

 

Используйте функцию waveInAddBuffer для отправки буферов в драйвер устройства. По мере заполнения буферов записанными звуковыми данными формата волны приложение получает уведомление с помощью сообщения окна, сообщения обратного вызова, сообщения потока или события в зависимости от флага, указанного при открытии устройства.

Перед началом записи с помощью waveInStart необходимо отправить драйверу хотя бы один буфер, иначе входящие данные могут быть потеряны.

Перед закрытием устройства с помощью waveInClose вызовите waveInReset , чтобы пометить все ожидающие блоки данных как выполненные.

Запись звукового сигнального формата