我正在使用游戏使用的.mid文件,并从中生成鼓乐器。它适用于某些.mid文件,但其他文件会生成EOFException
我正在使用从DumpSequence.java
获取的代码摘录Sequence sequence = null;
File midiFile = new File(strFilename);
sequence = MidiSystem.getSequence(midiFile);
(包是javax.sound.midi)
抛出错误:
java.io.EOFException:无效的MIDI文件
at com.sun.media.sound.SMFParser.readTrack(Unknown Source)
at com.sun.media.sound.StandardMidiFileReader.getSequence(Unknown Source)
at com.sun.media.sound.StandardMidiFileReader.getSequence(Unknown Source)
在javax.sound.midi.MidiSystem.getSequence(未知来源)
在DumpSequence.main(DumpSequence.java:125)
有人能指出我正确的方向,如何解决这个问题?我自己试过找到一个解决方案,但是空洞了。
答案 0 :(得分:1)
我可以想到几个可能性:
通过使用其他MIDI文件播放器播放,您应该能够轻松验证文件格式是否有效。然后确保任何其他已知良好的Java MIDI程序都能够处理它。