播放聲音時試圖播放聲音時,我發現了一個錯誤。由於某種原因,我得到一個空指針異常。位置和文件,我同時使用exsist和輸出文件的字符串我得到了正確的文件路徑時。空指針位於.open行。我究竟做錯了什麼?空指針爪哇
package main;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
public class Sound {
Clip background;
public void init() {
try {
String file = new File("").getAbsolutePath() + "\\Sounds\\Pacman_Opening.wav";
System.out.println(file);
background = AudioSystem.getClip();
background.open(AudioSystem.getAudioInputStream(getClass().getResource(file)));
} catch (LineUnavailableException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedAudioFileException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void playBG() {
background.start();
}
public void stopBG() {
background.stop();
}
public static void main(String[] args) {
Sound s = new Sound();
s.init();
s.playBG();
}
}
這是錯誤(第一行是位置):
Exception in thread "main" java.lang.NullPointerException
at com.sun.media.sound.WaveFileReader.getAudioInputStream(Unknown Source)
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at main.Sound.init(Sound.java:21)
at main.Sound.main(Sound.java:42)
我已經爲您編輯了您的標題 - 請隨時進一步改進。 – Widor
你走了黑暗的路。 「沒有炒鍋」會更好。 – Frankie
@Widor我的不好,忘了更改標題,這只是一個臨時的標題,只是錯過改變它。多麼可怕的錯誤,感謝您修復它! – ComputerLocus