Я наследовал проект Java, который использовал старый C++ dll для получения данных MIDI из фортепьяно, подключенного к компьютеру.
Теперь, когда Java имеет встроенную поддержку MIDI-устройств, я хочу избавиться от C++ прежней версии dll и просто использовать чистый Java. Java поддерживает данные получения из фортепьяно, подключенного к компьютеру? Я искал Google примеры напрасно.
Да, JavaSound API может использоваться для считывания MIDI-данных с MIDI-устройства.
JFugue является Java API для программирования музыки, который использует JavaSound API, и может помочь упростить взаимодействие с JavaSound. В JFugue 5.x, пример кода для захвата 10 секунд MIDI данных с MIDI устройства выглядит следующим образом:
MidiDevice device = /* specify a MIDI device */
MusicTransmitterToSequence transmitter = new MusicTransmitterToSequence(device);
transmitter.listenForMillis(10000);
Sequence music = transmitter.getSequence();
Вы также можете запустить и остановить прослушивание устройства:
MidiDevice device = /* specify a MIDI device */
MusicTransmitterToSequence transmitter = new MusicTransmitterToSequence(device);
transmitter.startListening();
// Do stuff
transmitter.stopListening();
Sequence music = transmitter.getSequence();