我正在创建MIDI音序器并根据我的知识初始化音序器,我需要使用:
Sequencer sequencer = MidiSystem.getSequencer();
但这导致我的程序在这个方法调用中开始非常非常慢,最多2分钟!
任何想法如何解决这个问题? 谢谢
答案 0 :(得分:1)
查看MidiSystem.getSequencer()的代码,看起来它试图连接各种尝试连接下一个的东西,如果前一个失败的话。这意味着如果所有连接尝试都失败到最后,则可能需要很长时间。
要测试此理论,请尝试使用
Sequencer sequencer = MidiSystem.getSequencer(false);
并查看该行是否执行得更快,如果确实如此,则问题是连接到默认合成器所需的时间。
调用getSequencer()时,系列事件为
这个文本几乎是javadoc中的文字,但正如你所看到的,有足够的尝试创建连接以使调用有点慢。