Java MidiSystem.start()不发声
我是java新手,我正在创建一个测试应用程序,演示如何创建声音。我有这个测试代码:Java MidiSystem.start()不发声,java,audio,Java,Audio,我是java新手,我正在创建一个测试应用程序,演示如何创建声音。我有这个测试代码: public class MiniMiniMusicApp { public MiniMiniMusicApp(){ } public void play(){ try{ Sequencer player = MidiSystem.getSequencer(); player.open(); S
public class MiniMiniMusicApp {
public MiniMiniMusicApp(){
}
public void play(){
try{
Sequencer player = MidiSystem.getSequencer();
player.open();
Sequence seq = new Sequence(Sequence.PPQ, 4);
Track track = seq.createTrack();
ShortMessage a = new ShortMessage();
a.setMessage(144,1,20,100);
MidiEvent noteOn = new MidiEvent(a, 1);
track.add(noteOn);
ShortMessage b = new ShortMessage();
a.setMessage(128, 1, 44, 100);
MidiEvent noteOff = new MidiEvent(b, 3);
track.add(noteOn);
Track[] t = seq.getTracks();
player.setSequence(seq);
player.start();
System.out.println("Done");
}
catch (Exception ex){
System.out.println("Ooops something went wrong");
ex.printStackTrace();
}
}
}
我听不到任何声音。我在某个地方读到我需要一个soundbank,所以我从下载了豪华版,并将其复制到C:\Program File\Java\jdk1.7.0\u 45\jre\lib创建了一个名为audio的文件夹,并在其中复制了soundbank.gm。我在这里遗漏了什么?我没有足够的代表对这个问题发表评论,但你是想说这句话吗
track.add(noteOn);
进去两次
你也打电话吗
a.setMessage(...)
两次
还有一些奇怪的事情正在发生,比如创建一个从未使用过的数组等等
我建议清理一下你的代码。伙计,我怎么没注意到。。。就这样,谢谢你!这里有一些建议:)