J'essaie d'utiliser un récepteur pour pouvoir extraire des informations sur les événements MIDI pendant leur lecture. Je veux écouter les notes jouées et les synchroniser était un événement. J'ai lu la documentation et je ne sais pas vraiment comment utiliser l'émetteur/récepteur. Si quelqu'un pouvait m'aider à me diriger dans la bonne direction sur la façon dont je pourrais récupérer les événements midi du receveur, je serais très reconnaissant. Edit: La duplication possible proposée ci-dessous n'explique pas comment le récepteur fonctionne réellement. Il offre du code source sur l'implémentation mais en tant que débutant le code source était trop avancé pour que je puisse le comprendre.Récupérer des messages midi depuis Receiver en Java
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);
}
}
double possible de [Java Midi - Comment obtenir des notes de midi alors qu'il joue] (https://stackoverflow.com/questions/ 26266411/java-midi-comment-obtenir-notes-de-midi-while-its-playing) –
J'ai lu cette réponse. Un des liens me dit d'utiliser l'émetteur/récepteur mais pas de détails sur sa mise en œuvre ou comment cela fonctionne. L'autre donne le code source montrant un vidage du récepteur mais le code source est assez avancé pour moi et j'ai eu du mal à relier les points sur la façon dont le récepteur est réellement utilisé. – user6688986
Votre propre objet doit implémenter l'interface 'Receiver'. –