为什么下面的wav音频文件没有在java中播放,奇怪的是,它是有效的,但当我关闭Netbean并重新打开项目时,它将不再播放。
如果我尝试URL url = new URL("http://pscode.org/media/leftright.wav");
它有效吗?!?!
代码
URL url = this.getClass().getClassLoader().getResource("Audio/police.wav");
// URL url = new URL("http://pscode.org/media/leftright.wav");
AudioInputStream ais = AudioSystem.getAudioInputStream(url);
Clip clip = AudioSystem.getClip();
clip.open(ais);
错误是
Sep 05, 2013 9:40:40 PM javafxapplication4.JavaFXApplication4$1 run
SEVERE: null
java.lang.NullPointerException
at com.sun.media.sound.StandardMidiFileReader.getSequence(StandardMidiFileReader.java:205)
at javax.sound.midi.MidiSystem.getSequence(MidiSystem.java:838)
at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(SoftMidiAudioFileReader.java:174)
at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1146)
at javafxapplication4.JavaFXApplication4$1.run(JavaFXApplication4.java:268)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
我的wav文件位于此处
答案 0 :(得分:0)
您可以这样构建AudioInputStream:
InputStream is = ClassLoader.getSystemResourceAsStream("Audio/police.wav");
AudioInputStream ais = AudioSystem.getAudioInputStream(is);
不要忘记检查InputStream是否为null。如果出现问题,它将为您提供更多控制权。此代码段假定您的类路径中有可用的资源Audio / police.wav