我不明白我为什么会这样:
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();
}
答案 0 :(得分:2)
该文件需要在CLASSPATH
上。两个应用程序中CLASSPATH
是否设置正确?
答案 1 :(得分:0)
当您尝试从空URL创建AudioInputStream时会发生此错误。