Функция waveInOpen (mmeapi.h)

Функция waveInOpen открывает заданное устройство ввода звукового сигнала для записи.

Синтаксис

MMRESULT waveInOpen(
  LPHWAVEIN       phwi,
  UINT            uDeviceID,
  LPCWAVEFORMATEX pwfx,
  DWORD_PTR       dwCallback,
  DWORD_PTR       dwInstance,
  DWORD           fdwOpen
);

Параметры

phwi

Указатель на буфер, который получает дескриптор, определяющий открытое устройство ввода звукового сигнала. Используйте этот дескриптор для идентификации устройства при вызове других функций ввода звукового сигнала. Этот параметр может иметь значение NULL, если для параметра fdwOpen указано WAVE_FORMAT_QUERY.

uDeviceID

Идентификатор открываемого устройства ввода waveform-audio. Это может быть идентификатор устройства или дескриптор открытого устройства ввода звукового сигнала. Вместо идентификатора устройства можно использовать следующий флаг.

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

pwfx

Указатель на структуру WAVEFORMATEX , которая определяет нужный формат для записи звуковых данных в формате волн. Эту структуру можно освободить сразу после возврата waveInOpen .

dwCallback

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

dwInstance

Данные экземпляра пользователя, передаваемые механизму обратного вызова. Этот параметр не используется с механизмом обратного вызова окна.

fdwOpen

Флаги для открытия устройства. Определены следующие значения.

Значение Значение
CALLBACK_EVENT Параметр dwCallback является дескриптором события.
CALLBACK_FUNCTION Параметр dwCallback является адресом процедуры обратного вызова.
CALLBACK_NULL Нет механизма обратного вызова. Это параметр по умолчанию.
CALLBACK_THREAD Параметр dwCallback является идентификатором потока.
CALLBACK_WINDOW Параметр dwCallback является дескриптором окна.
WAVE_MAPPED_DEFAULT_COMMUNICATION_DEVICE Если этот флаг указан и параметр uDeviceIDWAVE_MAPPER, функция открывает устройство связи по умолчанию.

Этот флаг применяется, только если uDeviceID равно WAVE_MAPPER.

Примечание Требуется Windows 7
 
WAVE_FORMAT_DIRECT Если этот флаг указан, драйвер ACM не выполняет преобразования звуковых данных.
WAVE_FORMAT_QUERY Функция запрашивает устройство, чтобы определить, поддерживает ли оно заданный формат, но не открывает устройство.
WAVE_MAPPED Параметр uDeviceID указывает устройство waveform-audio для сопоставления волн.

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

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

Код возврата Описание
MMSYSERR_ALLOCATED
Указанный ресурс уже выделен.
MMSYSERR_BADDEVICEID
Указанный идентификатор устройства выходит за пределы диапазона.
MMSYSERR_NODRIVER
Отсутствует драйвер устройства.
MMSYSERR_NOMEM
Не удается выделить или заблокировать память.
WAVERR_BADFORMAT
Предпринята попытка открыть с неподдерживаемым форматом waveform-audio.

Комментарии

Используйте функцию waveInGetNumDevs , чтобы определить количество устройств ввода звукового сигнала, присутствующих в системе. Идентификатор устройства, указанный с помощью uDeviceID , варьируется от нуля до одного меньше числа присутствующих устройств. Константу WAVE_MAPPER также можно использовать в качестве идентификатора устройства.

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

Если вы решили, чтобы функция получала сведения о обратном вызове, в нее отправляются следующие сообщения, указывающие на ход ввода звукового сигнала: WIM_OPEN, WIM_CLOSE и WIM_DATA.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header mmeapi.h (включая Windows.h)
Библиотека Winmm.lib
DLL Winmm.dll

См. также раздел

Звуковой сигнал

Функции волнообразной формы