0
我可以播放MIDI文件,其中「文件名」是帶有「asd.mid」值的字符串類型。但是,我試圖將AIR的nativeprocess命令發送給Java,它顯示「無法讀取」錯誤。怎麼來的?使用無法發送MIDI文件名到Java播放音樂
private void playMidi() {
if(isPlaying.equals("0")) {
try {
song = MidiSystem.getSequence(new File(filename));
sequencer = MidiSystem.getSequencer();
sequencer.setSequence(song);
sequencer.open();
sequencer.addMetaEventListener(this);
sequencer.start();
} catch (InvalidMidiDataException e) {
System.out.println("Bad midi file: "+ filename);
System.exit(1);
} catch (MidiUnavailableException e) {System.out.println("No sequencer available");
System.exit(1);
} catch (IOException e) {System.out.println("Could not read: "+ filename);
System.exit(1);
}
displayMidiInfo(filename);
} else {
updateTempoFactor(speed);
}
}
我想MIDI不接受絕對路徑?它只支持URL,File和InputStream。 – Proyb2 2010-10-27 13:10:59
這將是造成IOExcpetion的文件構造,因爲它無法找到指定的文件,它需要的絕對路徑......我猜...因爲你的異常處理已經基本上消除了任何有用的信息。 – 2010-10-27 13:29:42