I currently have a very simple class:
public class Music { private Sequence sequence; private Sequencer sequencer; public Music(String music) { try { this.sequence = MidiSystem.getSequence(ResourceManager.getMusic(music + ".mid")); this.sequencer = MidiSystem.getSequencer(); this.sequencer.open(); this.sequencer.setLoopCount(Sequencer.LOOP_CONTINUOUSLY); this.sequencer.setSequence(sequence); } catch (Exception e) { System.out.println("Oops - something went wrong."); } } public void play() { this.sequencer.start(); } public void stop() { this.sequencer.stop(); } }
All I have to do is create an object of this class and use the play () method to start the music. However, I no longer want to play just one MIDI file: as soon as the song ends, I want to start the next one.
So, I would like to create a playlist, for example:
sequence.add("midifile1.mid"); sequence.add("midifile2.mid");
However, I did not find such an option in the API documentation (there is an createTrack () option - but I donβt understand how to use this to add more music). I could create several objects from this class, but then I still donβt know when one file ended and the next should start.
By looking at online examples, it becomes more confusing. What is the best way to do this?
thanks
Bv202 source share