| 发表于:2007-01-09 23:38:579楼 得分:80 |
try this one: import javax.sound.midi.*; class test { public static void main(string[] args) { try { sequencer sequencer = midisystem.getsequencer(); sequencer.open(); sequence seq = new sequence(sequence.ppq, 4); track track = seq.createtrack(); for (int i = 5; i < 61; i++) { track.add(makeevent(144, 1, i, 100, i)); track.add(makeevent(128, 1, i, 100, i + 2)); } // end loop sequencer.setsequence(seq); sequencer.settempoinbpm(220); sequencer.start(); quitprogram(sequencer); } catch (exception ex) { ex.printstacktrace(); } } // end main public static void quitprogram(sequencer sequencer) { while(sequencer.isrunning()) { system.out.println( "isrunning "); } system.exit(0); } public static 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) { e.printstacktrace(); } return event; } } | | |
|