我们多媒体的期末作业我选了一个midi的项目,要求给出midi文件的信息,然后还要生成一个midi文件我找了N多资料。。好像都没有编程实现生成midi文件的。。我晕死。。我个人又只有对java有基础。其他编程语言都不会希望高人指点下。如何才能用java编程生成midi文件??java的sound midi的api我看过了。。但是还是不会用,不知道里面有没有可以生成midi的方法。。
解决方案 »
- 一个java小问题
- session的setMaxInactiveInterval方法的问题
- 请问下如何在已有swing class的基础上 建一个新的页面,但是多一个button 而不需要重复写code!! 谢谢
- import javax.speech.* 的怪问题!
- JTable刷新的时候遇到的一个奇怪的问题
- 菜鸟问题:程序运行出错判断
- 小弟的一个Java程序,请高手指点迷津。
- jbuilder 8.0 关于注册问题
- Message driven Bean的问题!50分
- JSDK1.3.1在SUN的网站上下了90%,还有10%没下怎么办??THANK
- 飞鱼在线编辑器报错!!!急!~~
- 难题 可变二维字符数组如何初始化问题List<String> strListChangedLog[];
{
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;
}}