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