Функция 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 в случае успешного выполнения или ошибки в противном случае. Возможные значения ошибок:
Код возврата | Описание |
---|---|
|
Указанный ресурс уже выделен. |
|
Указанный идентификатор устройства выходит за пределы диапазона. |
|
Отсутствует драйвер устройства. |
|
Не удается выделить или заблокировать память. |
|
Предпринята попытка открыть с неподдерживаемым форматом 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 |