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


Управление записью MIDI

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

Значение Значение
midiInAddBuffer Отправляет буфер драйверу устройства, чтобы его можно было заполнить записанными данными MIDI, исключающими систему.
midiInReset Останавливает запись MIDI и помечает все ожидающие буферы как выполненные.
midiInStart Запускает запись MIDI и сбрасывает метку времени до нуля.
midiInStop Останавливает запись MIDI.

 

Чтобы отправить буферы в драйвер устройства для записи сообщений, исключающих систему, используйте midiInAddBuffer. Приложение получает уведомление о заполнении буферов данными, которые записываются исключительно системой. Дополнительные сведения о методах уведомлений см. в разделе Управление блоками данных MIDI.

Функция midiInStart начинает процесс записи. При записи сообщений, исключающих систему, перед началом записи отправьте драйверу по крайней мере один буфер. Чтобы остановить запись, используйте midiInStop. Перед закрытием устройства с помощью функции midiInClose пометьте все ожидающие блоки данных как выполненные, вызвав midiInReset.

Приложения, которым требуются данные с меткой времени, используют функцию обратного вызова для получения данных MIDI. Если ваши требования к времени не являются строгими, можно использовать обратный вызов окна или потока. Однако обратный вызов события нельзя использовать для получения данных MIDI.

Чтобы записывать сообщения, исключающие систему, с приложениями, которые не используют буферы потока, необходимо предоставить драйверу устройства буферы. Эти буферы задаются с помощью структуры MIDIHDR .

Запись звука MIDI