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


Использование сообщений окна для управления записью Waveform-Audio

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

Следующие сообщения можно отправлять в функцию обработки окна для управления записью звукового сигнала.

Сообщение Описание
MM_WIM_CLOSE Отправляется при закрытии устройства с помощью функции waveInClose.
MM_WIM_DATA Отправляется после того, как драйвер устройства закончил использование буфера, отправленного с помощью функции waveInAddBuffer.
MM_WIM_OPEN Отправляется при открытии устройства с помощью функции waveInOpen.

 

Параметр lParam MM_WIM_DATA указывает указатель на структуру WAVEHDR, которая определяет буфер. Этот буфер может быть не полностью заполнен данными волны-аудио; запись может остановиться до заполнения буфера. Используйте элемент dwBytesRecorded структуры WAVEHDR, чтобы определить количество действительных данных в буфере.

Наиболее полезное сообщение, вероятно, MM_WIM_DATA. После завершения работы приложения с помощью блока данных, отправленного драйвером устройства, можно очистить и освободить блок данных. Если вам не нужно выделять память или инициализировать переменные, скорее всего, не нужно использовать MM_WIM_OPEN и MM_WIM_CLOSE сообщения.

Функция обратного вызова для устройств ввода в формате waveform-audio предоставляется приложением. Сведения об этой функции обратного вызова см. в описании функции waveInProc.

Запись аудиофайлов в форме волны