Android:无法从MIDI文件获取所有SysEx消息

时间:2017-04-27 14:46:55

标签: android midi

我使用great MIDI library来解析MIDI文件。

在我的一个MIDI文件中。我有一个仅包含SysEx消息的独家曲目(~3000条消息)。但是,每当库解析MIDI文件时,它只能识别所有SysEx消息中的43个。 SysEx消息中包含的数据也未正确获取。

以下是我尝试的一些示例代码(我在raw文件夹中有MIDI文件)。

    try {

        InputStream is = getResources().openRawResource(R.raw.stairwaysysex);
        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();
    }

sysExTrack变量包含未完全解析的SysEx数据。

值得注意的是,所有其他曲目都被正确解析。

0 个答案:

没有答案