Я хотел бы иметь программу, которая могла бы что-то делать, когда она получает миди-вход.
Например, когда я нажимаю кнопку 1 на своем контроллере, он должен печатать «Вы нажали кнопку 1», а когда я нажимаю кнопку 2, он должен печатать «Вы нажали кнопку 2».
Я пытался использовать библиотеку javax.sound.midi, но все примеры на форумах или на YouTube не работали.
Это сработало больше всего для меня. Он распечатал все Midi-устройства моего ПК, но ничего не получил. Кто-нибудь может помочь?
package de.snke.dev;
import javax.sound.midi.*;;
public class Main extends Object implements Receiver{
static MidiClass myMidi;
public static void main(String[] args) throws Exception {
MidiDevice.Info[] info =
MidiSystem.getMidiDeviceInfo();
for (int i=0; i < info.length; i++) {
System.out.println(i + ") " + info[i]);
System.out.println("Name: " + info[i].getName());
System.out.println("Description: " +
info[i].getDescription());
MidiDevice device =
MidiSystem.getMidiDevice(info[i]);
System.out.println("Device: " + device);
}
}
public void send(MidiMessage msg,
long time) {
System.out.println("Received message " + msg);
}
public void close() {
System.out.println("Closing");
}
}
РЕДАКТИРОВАТЬ: теперь у меня есть
Sequencer seq;
Transmitter seqTrans;
Synthesizer synth;
Receiver synthRcvr;
try {
seq = MidiSystem.getSequencer();
seqTrans = seq.getTransmitter();
synth = MidiSystem.getSynthesizer();
synthRcvr = synth.getReceiver();
seqTrans.setReceiver(synthRcvr);
} catch (MidiUnavailableException e) {
// handle or throw exception
}
Подключился ли я к моему APC Mini? Извините, я новичок... Если да, то как я могу теперь прочитать миди-ввод? И если нет, что мне нужно изменить?
main
? 2. Какой объект вы хотите получать сообщения? - person CL.   schedule 25.06.2018