今天再看Midi的用法:
就用了相应的程序
但是问题是没有error但是也不发声。。。。why??现在只知道这个程序应该是停不了,需要加sleep(),close什么的,但是竟然没声音......to be continued
import javax.sound.midi.*; //import midi package
import javax.sound.midi.Sequence;
/*public class MusicTest1 {
public void play() {
try {
Sequencer sequencer = MidiSystem.getSequencer();
System.out.println("sucessfully got a sequencer");
}
catch (MidiUnavailableException ex) {
System.out.println("Bummer");
}
}
public static void main (String[] args) {
MusicTest1 mt = new MusicTest1();
mt.play();
}
}
*/
public class MiniMiniMusicApp {
public static void main (String [] args){
MiniMiniMusicApp mini = new MiniMiniMusicApp();
mini.play();
}
public void play() {
try {
Sequencer player = MidiSystem.getSequencer();//get sequencer and open it;
player.open();
Sequence seq = new Sequence (Sequence.PPQ,4);
Track track = seq.createTrack(); //request to get Track;
ShortMessage a = new ShortMessage();
a.setMessage(144,1,44,100);
MidiEvent noteOn = new MidiEvent(a,1);
track.add(noteOn);
ShortMessage b = new ShortMessage();
b.setMessage(128,1,44,100);
MidiEvent noteOff = new MidiEvent(b,16);
track.add(noteOff);
player.setSequence(seq);
player.start();
}
catch (Exception ex) {
ex.printStackTrace ();
}
} //end play
} //end class