package Demo;
import javax.sound.midi.*;
public class Music {
public static void main(String[] args)
{
try {
Sequencer sequencer=MidiSystem.getSequencer();
/*
Sequencer的作用是蒋midi的信息组合成乐曲
midievent是用来只是什么时候做什么是
midi的指令放在Message
message是内容
midievent是时机
*/
sequencer.open();
Sequence seq=new Sequence(Sequence.PPQ, 4);
Track track=seq.createTrack();
for(int i=5;i<61;i=i+4) {
/*
* track是midievent对象sequence根据时间组织他们
* */
track.add(makeEvent(144, 1, i, 100, i));
track.add(makeEvent(120, 1, i, 100, i+2));
/* 类型 频道 音符 音道
* tick音长
* */
}
sequencer.setSequence(seq);
sequencer.setTempoFactor(220);
sequencer.start();
}
catch(Exception ex) {
ex.printStackTrace();
}
}
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){}
return event;
}
}
Java项目
最新推荐文章于 2024-07-14 00:58:55 发布