Java Midi音序器在几次后停止发出声音。我该如何调试/解决?

时间:2011-05-23 06:09:57

标签: java midi audio

我正在编写一些代码来使用Java声音库播放音乐。

private Sequencer sequencer ;
...
void play(Sequence sequence) {
    sequencer.open() ;
    sequencer.setSequence(sequence) ;
    sequencer.start() ; // plays sequence
    sequencer.close() ;
}

当我调用播放方法19次时,声音从我的扬声器中传出。然而,第20次我调用它,没有声音出来。无论如何,这总是会发生。我需要重新启动程序才能再次发声。

这个问题有一些解决方法吗?或者某种方式调试这个?或者某些地方我可以获得MIDI声音API的支持吗?

1 个答案:

答案 0 :(得分:3)

我不知道为什么会停止。也许它与midi中只有16个通道有关,但不是多次打开音序器,你可以重复使用音序器并改变它的序列。这就是我所拥有的,它对我有用:

public void play(Sequence sequence) {
    sequencer.setSequence(sequence);
    sequencer.stop();
    sequencer.setTickPosition(0);
    sequencer.start();
}