2012-05-27 96 views
1

我用this模板寫一個程序寫入MIDI文件,我現在有唯一的問題是改變儀器如何在寫入MIDI文件時更改樂器?

該代碼段被註釋掉設置儀器鋼琴,但我想知道還有其他的工具可以用不同的信息輸入來設置它。

//**** set instrument to Piano **** 
    mm = new ShortMessage(); 
    mm.setMessage(0xC0, 0x00, 0x00); 
    me = new MidiEvent(mm,(long)0); 
    t.add(me); 

回答

3

其他儀器在general MIDI standard規定,雖然不是所有的合成器都保證支持這些聲音。

此外,MIDI程序更改消息只有2個字節,而不是3.查看您鏈接到的示例模板代碼,似乎setMessage()方法爲此提供了適當的覆蓋。如果您向此消息寫入3個字節,則第3個字節將被錯誤地解釋爲下一個消息的第一個字節。