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

WaveOutPause

MMRESULT waveOutPause( HWAVEOUT hwo );

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

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

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

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

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

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

Аргументы

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

Примечание

Функция waveOutPause приостанавливает воспроизведение с указанного устройства вывода аудио информации. При этом сохраняется текущая позиция воспроизведения. Для возобновления воспроизведения используется функция waveOutRestart.

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

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

WaveOutPrepareHeader

MMRESULT waveOutPrepareHeader( HWAVEOUT hwo, LPWAVEHDR pwh, UINT cbwh );

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

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

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

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

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

Аргументы

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

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

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

Примечание

Функция waveOutPrepareHeader подготавливает буфер для вывода аудио информации.

Переменные lpData, dwBufferLength и dwFlags объекта структуры WAVEHDR должны быть инициализированы до вызова данной функции. (Переменная dwFlags должна иметь нулевое значение.)

Значения переменных dwFlags, dwBufferLength и dwLoops объекта структуры WAVEHDR могут изменять своё значение между вызовом данной функции и вызовом функции waveOutWrite. (При этом в переменной dwLoops можно изменять только состояние флагов WHDR_BEGINLOOP и WHDR_ENDLOOP.) Изменения значения переменной dwBufferLength перед вызовом функции waveOutWrite могут производиться только в сторону уменьшения этой величины.

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

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

WaveOutProc

void CALLBACK waveOutProc( HWAVEOUT hwo, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2 );

Аргументы

  1. hwo — дескриптор аудио устройства, связанного с данной функцией обратного вызова.

  2. uMsg — сообщение, посылаемое данной функции. Это может быть одно из следующих сообщений:

  • WOM_CLOSE — посылается при закрытии аудио устройства функцией waveOutClose.

  • WOM_DONE — посылается драйвером устройства после завершения вывода блока данных, переданного ему функцией waveOutWrite.

  • WOM_OPEN — посылается при открытии аудио устройства функцией waveOutOpen.

  1. dwInstance — пользовательские данные, определённые в функции waveOutOpen.

  2. dwParam1 — аргумент сообщения.

  3. dwParam2 — аргумент сообщения.

Примечание

Функция waveOutProc представляет собой функцию обратного вызова, используемую при выводе аудио информации. Имя функции waveOutProc является условным и может быть заменено другим именем, не используемым другими функциями. Адрес этой функции должен содержатся в соответствующем аргументе функции waveOutOpen.

Из функции обратного вызова не могут вызываться никакие системные функции, кроме следующих: EnterCriticalSection, LeaveCriticalSection, midiOutLongMsg, midiOutShortMsg, OutputDebugString, PostMessage, PostThreadMessage, SetEvent, timeGetSystemTime, timeGetTime, timeKillEvent и timeSetEvent. Вызов любой другой функции работы с аудио информацией может вызвать зависание системы.

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

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