2014-11-14 34 views
0

我有一個問題讓我的應用程序播放本地文件而不是Web URI的聲音,我知道AudioFile的參數是一個URI,但我不知道如何獲取我的URI格式的文件位置?這是我的代碼:使用JavaFX,我怎樣才能讓應用程序從本地文件而不是URI播放聲音?

http://gyazo.com/9419d3afe78f9c8fd4c02a0c3c000a5e

正如你所看到的,我使用的是鏈接的音頻剪輯,但我想,以取代與MP3的本地文件位置的鏈接。例如,我的圖像包中包含「dang.mp3」文件。我如何將位置轉換爲可用的URI作爲我的AudioFile的參數傳遞?現在,由於我使用應用程序播放的鏈接,目前的問題是,一旦與所述mp3文件的鏈接到期,我的應用程序就會中斷,因爲它不能加載文件,因爲它們不存在現在,這就是爲什麼我只想在本地包含文件。

回答

0

引述AudioClip構造API文檔:

URL字符串從中加載的音頻剪輯。這可以是HTTP,文件或jar源文件。

因此,我們可以只是這樣做:

new AudioClip(TestClass.class.getResource("test.mp3").toExternalForm()); 

獲得音頻剪輯實例指向「請將test.mp3」旁邊的TestClass居住。

+0

是的,我剛纔問了這個問題,我想我做錯了什麼。它不接受一個URI參數,它需要一個String參數,因此我只需將toString添加到我的URI調用的結尾。如果我在與控制器類相同的包中包含該文件,則發佈的內容完美無缺。非常感謝 :) – dalva 2014-11-14 17:41:15

相關問題