Управление записью MIDI
После открытия устройства MIDI можно начать запись данных MIDI. Windows предоставляет следующие функции для управления записью MIDI.
Ценность | Значение |
---|---|
midiInAddBuffer | Отправляет буфер драйверу устройства, чтобы его можно было заполнить системно-эксклюзивными MIDI данными для записи. |
midiInReset | Останавливает запись MIDI и помечает все ожидающие буферы как завершённые. |
midiInStart | Запускает запись MIDI и сбрасывает метку времени до нуля. |
midiInStop | Останавливает запись MIDI. |
Чтобы отправить буферы драйверу устройства для записи системных эксклюзивных сообщений, используйте midiInAddBuffer. Приложение уведомляется о том, что буферы заполнены системными эксклюзивными записанными данными. Дополнительные сведения о методах уведомлений см. в Управление блоками данных MIDI.
Функция midiInStart начинает процесс записи. При записи системных сообщений отправьте по крайней мере один буфер драйверу перед началом записи. Чтобы остановить запись, используйте midiInStop. Перед закрытием устройства с помощью функции midiInClose пометьте все ожидающие блоки данных как завершенные, вызвав функцию midiInReset.
Приложения, требующие отметок времени, используют функцию обратного вызова для получения данных MIDI. Если требования к времени не являются строгими, можно использовать обратный вызов окна или потока. Однако для получения данных MIDI нельзя использовать обратный вызов события.
Чтобы записывать системно-эксклюзивные сообщения с приложениями, которые не используют буферы потоков, необходимо предоставить драйверу устройства буферы. Эти буферы задаются с помощью структуры MIDIHDR.
Связанные разделы