[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/RoyTien/Java-Programming-Exercises/master/MiniMusicPlayer2.java [Back]  [Original]

import javax.sound.midi.*;

public class MiniMusicPlayer2 implements ControllerEventListener {
	public static void main(String[] args){
		MiniMusicPlayer2 mini = new MiniMusicPlayer2();
		mini.go();
	}

	public void go(){
		try{
			Sequencer sequencer = MidiSystem.getSequencer();
			sequencer.open();

			int[] eventsIWant = {127};
			sequencer.addControllerEventListener(this,eventsIWant);

			Sequence seq = new Sequence(Sequence.PPQ,4);
			Track track = seq.createTrack();

			for(int i = 5; i < 60; i += 4){
				track.add(makeEvent(144,1,i,100,i));
				track.add(makeEvent(1176,1,127,0,i));
				track.add(makeEvent(128,1,i,100,1+2));
			}

			sequencer.setSequence(seq);
			sequencer.setTempoInBPM(220);
			sequencer.start();
		}catch(Exception ex){ex.printStackTrace();}
	}

	public  MidiEvent makeEvent(int comd, int chan, int one, int two, int tick){
		MidiEvent event = null;
		try{
			ShortMessage a = new ShortMessage();
			a.setMessage(comd, chan, one, two);
			event = new MidiEvent(a,tick);
		}catch(Exception e){ }
		return event;
	}
	public void controlChange(ShortMessage event) {
		// TODO Auto-generated method stub
  
 	}
}

Web Proxy Viewer  |  New URL  |  Original Page