gpt4 book ai didi

java - 加载 MIDI 文件时出现 EOF 异常

转载 作者:行者123 更新时间:2023-12-01 14:05:05 26 4
gpt4 key购买 nike

我正在获取游戏使用的 .mid 文件,并从中生成鼓乐谱。它对于某些 .mid 文件工作正常,但其他文件会产生 EOFException

我正在使用摘自 DumpSequence.java 的代码摘录

Sequence sequence = null;
File midiFile = new File(strFilename);
sequence = MidiSystem.getSequence(midiFile);

(包是javax.sound.midi)

抛出错误:

java.io.EOFException: invalid MIDI file
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)
at javax.sound.midi.MidiSystem.getSequence(Unknown Source)
at DumpSequence.main(DumpSequence.java:125)

任何人都可以指出我正确的方向,如何解决这个问题吗?我自己也尝试过寻找解决方案,但一无所获。

最佳答案

我能想到几种可能性:

  1. 如错误消息所述,MIDI 文件实际上具有无效格式。
  2. 此文件的字节顺序有所不同,文件本身并未指明。
  3. 您使用的 Java 版本(或 javax.sound 库)无法识别此 MIDI 文件格式。

您应该能够通过使用不同的 MIDI 文件播放器播放该文件格式来轻松验证该文件格式是否有效。然后确保任何其他已知良好的 Java MIDI 程序都能够处理它。

关于java - 加载 MIDI 文件时出现 EOF 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18967619/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com