java解析Android中自定义创建的MIDI文件
我已经重新创建了一个MIDI
文件,但没有更改它的任何Meta
事件。我只是在每个note_on
和note_off
事件下添加了SysEx (System Exclusive)
消息。我使用this库解析MIDI文件并提取曲目,以获取MIDI消息
下面是我尝试过的一些示例代码(我在原始文件夹中有MIDI文件)
try {
InputStream is = getResources().openRawResource(R.raw.mysamplemidifile);
File tempFile = File.createTempFile("temp", ".mid");
tempFile.deleteOnExit();
FileOutputStream out = new FileOutputStream(tempFile);
IOUtils.copy(is, out);
MidiFile midi = new MidiFile(tempFile);
ArrayList<MidiTrack> tracks = midi.getTracks();
MidiTrack sysExTrack = tracks.get(tracks.size() - 1);
} catch (Exception e) {
e.printStackTrace();
}
最初,MIDI消息的总数约为2500条。但该库只能获取大约2300条MIDI消息。
sysExTrack
变量包含未完全解析的SysEx
数据
我不知道这里出了什么问题。感谢您的帮助
编辑: MIDI文件在iOS中得到正确解析
共 (0) 个答案