Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Func.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.58 Mб
Скачать

WaveInStart

MMRESULT waveInStart( HWAVEIN hwi );

Возвращаемое значение

В случае успешного завершения возвращает значение MMSYSERR_NOERROR. В противном случае может возвращать следующие значения:

  • MMSYSERR_INVALHANDLE — указан недопустимый дескриптор устройства.

  • MMSYSERR_NODRIVER — отсутствует драйвер устройства.

  • MMSYSERR_NOMEM — невозможно выделить или заблокировать память.

Аргументы

  1. hwi — дескриптор устройства ввода аудио информации.

Примечание

Функция waveInStart инициирует процесс записи на указанном устройстве ввода аудио информации.

Буфера, посланные драйверу устройства, возвращаются им приложению после полного их заполнения введённой информацией или после вызова функции waveInReset. При этом переменная dwBytesRecorded заголовка буфера будет содержать размер записанной в него информации. Если в очереди на запись отсутствуют буфера, то вводимые данные будут теряться, но приложение не будет об этом оповещено.

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

Описание данной функции содержится в файле заголовка mmsystem.h. При работе с данной функцией следует включить в проект библиотеку winmm.lib.

WaveInStop

MMRESULT waveInStop( HWAVEIN hwi );

Возвращаемое значение

В случае успешного завершения возвращает значение MMSYSERR_NOERROR. В противном случае может возвращать следующие значения:

  • MMSYSERR_INVALHANDLE — указан недопустимый дескриптор устройства.

  • MMSYSERR_NODRIVER — отсутствует драйвер устройства.

  • MMSYSERR_NOMEM — невозможно выделить или заблокировать память.

Аргументы

  1. hwi — дескриптор устройства ввода аудио информации.

Примечание

Функция waveInStop прекращает запись на указанном устройстве ввода аудио информации.

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

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

Описание данной функции содержится в файле заголовка mmsystem.h. При работе с данной функцией следует включить в проект библиотеку winmm.lib.

WaveInUnprepareHeader

MMRESULT waveInUnprepareHeader( HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh );

Возвращаемое значение

В случае успешного завершения возвращает значение MMSYSERR_NOERROR. В противном случае может возвращать следующие значения:

  • MMSYSERR_INVALHANDLE — указан недопустимый дескриптор устройства.

  • MMSYSERR_NODRIVER — отсутствует драйвер устройства.

  • MMSYSERR_NOMEM — невозможно выделить или заблокировать память.

  • WAVERR_STILLPLAYING — буфер, на который указывает аргумент pwh, всё ещё находится в очереди на запись.

Аргументы

  1. hwi — дескриптор устройства ввода аудио информации.

  2. pwh — указатель на объект структуры WAVEHDR идентифицирующий освобождаемый буфер.

  3. cbwh — размер структуры WAVEHDR в байтах.

Примечание

Функция waveInUnprepareHeader отменяет подготовку буфера, произведённую функцией waveInPrepareHeader. Эта функция должна вызываться после того, как драйвер устройства заполнит буфер и возвратит его приложению, и перед тем, как уничтожить данный буфер.

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

Описание данной функции содержится в файле заголовка mmsystem.h. При работе с данной функцией следует включить в проект библиотеку winmm.lib.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]