次のコードを使用して、JFugue で MIDI ファイルを読み込んで再生します。
import java.io.File;
import org.jfugue.Pattern;
import org.jfugue.Player;
public class PlayMidiFromFile {
public static void main(final String[] args) {
try {
final Player player = new Player();
final Pattern pattern = player.loadMidi(new File("sample.mid"));
player.play(pattern);
} catch (final Exception e) {
e.printStackTrace();
}
}
}
このファイルは ChordPulse で生成されたもので、他のプログラムでの再生は正常に機能します。
それぞれに異なる楽器を持つ複数のトラックが含まれていますが、プレーヤーはすべてピアノのみを使用しており、一部のトラックが欠落しているようです。
これを修正する方法は?パーサーによって認識されない特定の MIDI メッセージはありますか? 曲がどのようにトラックやチャンネルを使用しているか、またはその他の既知の制限や必要な初期化手順について、前提条件はありますか?