0
我正在製作一個程序,我希望它在打開時開始播放聲音。我認爲最簡單的方法是將.wav文件嵌入到我的jar中的src文件夾中。我已將文件放在名爲files
的打包文件中,並且我正在使用的所有其他文件(如圖片)都位於該包中,並且它們都工作正常。我的播放聲音的方法如下:訪問嵌入式資源時出錯
public static void playSound(String dir, int loopTimes) throws Exception {
URL url = new File(dir).toURI().toURL();
Clip clip = AudioSystem.getClip();
// getAudioInputStream() also accepts a File or InputStream
AudioInputStream ais = AudioSystem.getAudioInputStream(url);
clip.open(ais);
if (loopTimes == -1)
loopTimes = Clip.LOOP_CONTINUOUSLY;
clip.loop(loopTimes);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
}
});
}
它適用於在我的桌面,我的文檔,其他任何位置播放聲音。我輸入播放聲音的路徑是"files/FBP.wav"
是FBP是文件的名稱。我還沒有找到任何解決方案,我覺得這是因爲它在JAR中。我也只是簡單地試過這個:
if(new File("files/FBP.wav").exists()){
System.out.println("EXISTS!");
}
System.exit(0);
它從來沒有打印出它存在。我確定它也位於bin文件夾中。我正在使用日食。我得到的錯誤是filenotfoundexception
。任何幫助表示讚賞!提前致謝!
好先生,U現在宣佈對所有帳戶的嚮導。現在你知道一種讓它更快地緩衝事物的方法嗎?由於緩衝區而在運行之後會有延遲。你知道如何縮短嗎?或者是需要 – PulsePanda
@wbAnon而不是每次執行子例程時加載剪輯,只需在全局變量中加載一次,每次調用它時都會播放它。 – Mordechai
你知道我會怎麼做嗎?即時通訊不完全確定你的意思... – PulsePanda