Функция midiStreamOut (mmeapi.h)
Функция midiStreamOut воспроизводит или помещает в очередь поток (буфер) данных MIDI на устройство вывода MIDI.
Синтаксис
MMRESULT midiStreamOut(
HMIDISTRM hms,
LPMIDIHDR pmh,
UINT cbmh
);
Параметры
hms
Обработка в потоке MIDI. Этот дескриптор должен быть возвращен вызовом функции midiStreamOpen . Этот дескриптор идентифицирует устройство вывода.
pmh
Указатель на структуру MIDIHDR , которая идентифицирует буфер MIDI.
cbmh
Размер структуры MIDIHDR в байтах.
Возвращаемое значение
Возвращает MMSYSERR_NOERROR в случае успешного выполнения или ошибку в противном случае. Возможные значения ошибок:
Код возврата | Описание |
---|---|
|
Системе не удается выделить или заблокировать память. |
|
Выходной буфер, на который указывает lpMidiHdr , по-прежнему воспроизводит или помещается в очередь из предыдущего вызова midiStreamOut. |
|
Заголовок, на который указывает lpMidiHdr , не подготовлен. |
|
Указанный дескриптор устройства недопустим. |
|
Недопустимый указатель, заданный lpMidiHdr . |
Комментарии
Перед передачей буфера в midiStreamOpen его необходимо подготовить с помощью функции midiOutPrepareHeader .
Так как функция midiStreamOpen открывает устройство вывода в приостановленном режиме, необходимо вызвать функцию midiStreamRestart , прежде чем использовать midiStreamOut для запуска воспроизведения.
Для текущей реализации этой функции буфер должен быть меньше 64 КБ.
Буфер, на который указывает структура MIDIHDR , содержит одно или несколько событий MIDI, каждое из которых определяется структурой MIDIEVENT .
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | mmeapi.h (включая Windows.h) |
Библиотека | Winmm.lib |
DLL | Winmm.dll |