Я пытаюсь использовать приемник, чтобы извлекать информацию о миди-событиях во время воспроизведения. Я хочу прослушать сыгранные ноты и синхронизировать их с каким-то событием. Я прочитал документацию и не знаю, как на самом деле использовать передатчик/приемник. Если кто-то может помочь указать мне правильное направление в том, как я могу получить MIDI-события с приемника, я был бы очень благодарен.
Редактировать: возможный дубликат, предложенный ниже, не объясняет, как на самом деле работает приемник. Он предлагает исходный код реализации, но как новичок исходный код был слишком сложным, чтобы я мог его понять.
import javax.sound.midi.*;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
public class Main {
public static Sequencer sequencer;
public static Sequence sequence;
public static Receiver synthRcvr;
public static Transmitter seqTrans;
public static void main(String[] args) {
try {
sequencer = MidiSystem.getSequencer();
sequence = MidiSystem.getSequence(new File("test.midi"));
seqTrans = sequencer.getTransmitter();
synthRcvr = sequencer.getReceiver();
seqTrans.setReceiver(synthRcvr);
sequencer.open();
sequencer.setSequence(sequence);
sequencer.start();
} catch (IOException | MidiUnavailableException | InvalidMidiDataException e) {
System.out.println(e);
}
}
Receiver
. - person CL.   schedule 14.08.2017