Поделиться через


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

Функция midiStreamOut воспроизводит или помещает в очередь поток (буфер) данных MIDI на устройство вывода MIDI.

Синтаксис

MMRESULT midiStreamOut(
  HMIDISTRM hms,
  LPMIDIHDR pmh,
  UINT      cbmh
);

Параметры

hms

Обработка в потоке MIDI. Этот дескриптор должен быть возвращен вызовом функции midiStreamOpen . Этот дескриптор идентифицирует устройство вывода.

pmh

Указатель на структуру MIDIHDR , которая идентифицирует буфер MIDI.

cbmh

Размер структуры MIDIHDR в байтах.

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

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

Код возврата Описание
MMSYSERR_NOMEM
Системе не удается выделить или заблокировать память.
MIDIERR_STILLPLAYING
Выходной буфер, на который указывает lpMidiHdr , по-прежнему воспроизводит или помещается в очередь из предыдущего вызова midiStreamOut.
MIDIERR_UNPREPARED
Заголовок, на который указывает lpMidiHdr , не подготовлен.
MMSYSERR_INVALHANDLE
Указанный дескриптор устройства недопустим.
MMSYSERR_INVALPARAM
Недопустимый указатель, заданный 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

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

Функции MIDI