【发布时间】:2012-12-01 05:44:16
【问题描述】:
我正在尝试在我正在制作的 java 游戏中循环 MIDI 序列,但遇到了一些问题。
我当前的代码确实重复了序列,但是序列结束和重新启动之间有很大的延迟。我怎样才能消除这种情况?
这是我的代码:
try
{
// From file
final Sequence sequence = MidiSystem.getSequence(new File("main menu.mid"));
sequencer = MidiSystem.getSequencer();
sequencer.open();
sequencer.addMetaEventListener(new MetaEventListener() {
public void meta(MetaMessage msg) {
if (msg.getType() == 47) { // End of track
sequencer.setTickPosition(0);
try
{
sequencer.setSequence(sequence);
} catch(InvalidMidiDataException e) {e.printStackTrace();}
sequencer.start();
}
}
});
sequencer.setSequence(sequence);
// Start playing
sequencer.start();
} catch (IOException e) {e.printStackTrace();}
catch (MidiUnavailableException e) {e.printStackTrace();}
catch (InvalidMidiDataException e) {e.printStackTrace();}
【问题讨论】:
标签: java loops delay midi javasound