我試圖得到一個MIDI序列的磁道數:的Java MIDI Sequence.getTracks()錯號碼
File file = new File(strSource);
Sequence sequence = MidiSystem.getSequence(file);
int numTracks = sequence.getTracks().length;
...其中strSource是我的。中期的完整路徑+文件名文件。 numTracks是1,但.mid文件有16個軌道(就像我在另一個MIDI編輯器中打開它時看到的那樣)。文件類型爲0.
我在某處讀取類型爲0的文件不能在同一個通道中有多個軌道。在這種情況下,所有曲目都被強制進入單曲。那是對的嗎?我怎樣才能避免這種情況?
其他編輯器本身創建的多個曲目。它似乎搜索程序更改消息 – paul
因此,sequence.getTracks()沒有任何問題,對吧? 只是0類文件的問題 – alseether
是的,類型0文件是限制。另一種工具(收割機)與我的小型MIDI工具(Anvil Studio)一樣:都從單一類型0軌道分離出來,並根據樂器編號創建多個軌道。 – paul