具有现有和正确文件路径的java.lang.NullPointerException

时间:2013-10-27 10:07:57

标签: java audio nullpointerexception clip

我不明白我为什么会这样:

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)

即使相同的代码在我的另一个应用程序中有效。文件路径正确,文件在那里。我很傻。

声音方法之前的相关代码:

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();
}

2 个答案:

答案 0 :(得分:2)

该文件需要在CLASSPATH上。两个应用程序中CLASSPATH是否设置正确?

答案 1 :(得分:0)

当您尝试从空URL创建AudioInputStream时会发生此错误。