我需要从 midi 文件中获取速度值。我发现 set_tempo 命令的值为 0x51,所以我有这段代码:
for (int i = 0; i < tracks[0].size(); i++) {
MidiEvent event = tracks[0].get(i);
MidiMessage message = event.getMessage();
if (message instanceof MetaMessage) {
MetaMessage mm = (MetaMessage) message;
if(mm.getType()==SET_TEMPO){
// now what?
mm.getData();
}
}
}
但是 getData() 方法返回一个字节数组!如何将其转换为正常的人类形式,即整数?我读过它以这样的格式存储:“tt tt tt”,但是整个大/小端,有符号/无符号和可变长度的东西让它太混乱了。