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

java.lang.NullPointerException具有现有且正确的文件路径,java,audio,nullpointerexception,clip,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.getAudioInputS

我不明白为什么我会得到:

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();
}
以下是我的发声方法:

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

该文件需要位于您的
类路径上。
类路径是否在两个应用程序中都设置正确?

当您试图从空URL创建音频输入流时,会发生此错误。

我使用了几种不同的WAV格式,最近使用了.AU soundfile,但总是会出现相同的错误。该文件位于[项目文件夹]/src/rest文件需要位于
类路径上。
CLASSPATH
在两个应用程序中设置是否正确?您是否忘记停止剪辑?@RobinGreen谢谢。就这样。另一个应用程序没有定义的包,因此类路径不同。最简单的事情。。。你可以把它设为你的答案,我会把它变成绿色。