【发布时间】:2014-11-26 21:45:30
【问题描述】:
我正在尝试使用 Java Sound API (javax.sound.midi) 构建一个程序,以便在合成器播放 MIDI 音符时在屏幕上显示它。 MIDI 文件需要从磁盘加载,我在将音序器连接到合成器时遇到了一些问题,以便在合成器播放时捕捉音符。
我不能只将序列加载到 Sequencer 并使用 sequencer.start(),因为那样我将无法捕获 midi 消息,因此会丢失 note_on 消息。另一方面,如果我将音序器连接到合成器并将消息发送到合成器,它只会以错误的时间播放所有音符。有没有办法在要播放的时候将消息发送到合成器?一定有一些带有midi ticks的东西可以做到,但我想不通。另外,我不太明白Java是如何管理midi ticks的。
【问题讨论】: