【发布时间】:2013-10-27 10:07:56
【问题描述】:
我不明白为什么会这样:
java.lang.NullPointerException
at com.sun.media.sound.StandardMidiFileReader.getSequence(Unknown Source)
at javax.sound.midi.MidiSystem.getSequence(Unknown Source)
at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(Unknown Source)
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
即使相同的代码在我的另一个应用程序中工作。文件路径正确,文件就在那里。我一无所知。
sound方法前的相关代码:
String soundpath = "res/sound.au";
sound(soundpath);
这是我的声音方法:
public static void sound(String path){
try {
AudioInputStream audio = AudioSystem.getAudioInputStream(SoundTest.class.getResource(path));
Clip clip = AudioSystem.getClip();
clip.open(audio);
clip.start();
} catch (Exception e) {
System.out.println("Might wanna check: " + path + "\n");
e.printStackTrace();
}
【问题讨论】:
-
我已经尝试过几种不同的 WAV 格式,最近使用 .AU 声音文件,但总是遇到同样的错误。
-
文件位于[项目文件夹]/src/res
-
该文件需要在您的
CLASSPATH上。两个应用程序中的CLASSPATH设置是否正确? -
您忘记停止剪辑了吗?
-
@RobinGreen 谢谢。就是这样。另一个应用程序没有定义的包,所以类路径不同。最简单的事情...您可以将其设置为您的答案,我将其设为绿色。
标签: java audio nullpointerexception clip