我正在編寫幾行代碼,每隔0.5秒就會打印出「tick」和「tock」,並打印出「done!」 60秒後。如何編碼播放MP3?
import javax.sound.sampled.*;
public class Thread0001 {
public static void main(String args[]) {
for(int i=0; i<60; i++) {
try {
Thread.sleep(500);
if(i%2 == 0) {
System.out.print("tick ");
try {
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(Thread0001.class.getClass().getResource
("Users/Marshall/Documents/Sources/Elevator.mp3"));
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start();
} catch(Exception e) {
}
}
else
System.out.print("tock ");
if(i == 59) { // when it reaches 60 seconds
System.out.println("done!");
}
} catch(Exception e) {
}
}
}
}
好了,一切看上去都不錯,但有一兩件事 - 我也把代碼發出的電梯鈴聲每一個「滴答」。這段代碼似乎沒有工作,所以有人可以幫我解決這個問題嗎?
你真的在你的jar文件中有'Users/Marshall/etc'文件夾嗎? – assylias 2015-03-02 14:19:21
你放一個try/catch:嘗試刪除它並粘貼你得到的錯誤。 – 2015-03-02 14:19:54
您正在捕捉嘗試啓動曲目時可能發生的所有異常。你應該打印出異常,它可能會幫助你理解問題。 – flayn 2015-03-02 14:20:59