我正在使用 Java 开发一个个人项目,我正在使用 JFugue 来简化音乐的生成和播放。我正在尝试为我保存的每个 MIDI 文件输出一个 MusicXML 文件,以便可以在 Finale NotePad 中查看它们,但输出的 MusicXML 文件似乎没有正确格式化。它们突然像这样结束:“...<type>/0.0</type></note><note><”。
这是我用来编写文件的代码:
System.out.print("Enter name of MIDI file: ");
String midi = scan.next();
try
{
Pattern pat = player.loadMidi(new File(midi + ".mid"));
MidiParser parser = new MidiParser();
MusicXmlRenderer renderer = new MusicXmlRenderer();
FileWriter writer = new FileWriter(midi + ".xml");
parser.addParserListener(renderer);
parser.parse(player.getSequence(pat));
writer.write(renderer.getMusicXMLString());
writer.close();
}
catch(InvalidMidiDataException e)
{
System.out.println(e.toString());
}
catch(IOException e)
{
System.out.println(e.toString());
}