我正在编写几行代码,每隔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