2017-06-01 14 views
0

我能主辦我的imgur圖片爲我的JavaFX項目像這樣:JavaFX的:使用URL源音頻

Image circle = new Image("http://imgur.com/7oW7ilC.png"); 

但是,當我試圖爲音頻文件做同樣的,這不是」 t播放聲音(沒有錯誤)

Media sound = new Media("http://enkrypton.github.io/filehost2017/hit.mp3"); 
MediaPlayer mediaPlayer = new MediaPlayer(sound); 
mediaPlayer.play(); 

有沒有一種方法,我可以像使用圖像一樣使用來自URL的音頻文件? 請注意,這不是一個HTTP錯誤403,因爲我可以加載我的文件主機上的其他圖像。

+0

奇怪。我可以下載該文件並播放它,但無法使用任何軟件直接從URL播放它。 *編輯:*看起來像這個URL發送一個HTTP 301重定向。這可能是原因。 – VGR

+0

@VGR你對解決方法有任何建議,所以我可以使用我的音頻URL源? – Enkrypton

回答

1

問題是聲音URL是一個http: URL,它將返回重定向到https: URL的HTTP 301響應。這不被認爲是安全的,所以Java不會自動遵循它。有關這方面的完整討論,請參閱URLConnection Doesn't Follow Redirect

最簡單的方法是簡單地改變你的URL中使用https:

Media sound = new Media("https://enkrypton.github.io/filehost2017/hit.mp3"); 
+0

事實上,我實際上最初在https中使用它:但是這給了我以下例外:https://pastebin.com/HhVQKJc8 – Enkrypton

+0

您使用的是JavaFX 8嗎?如果沒有,是否有理由不使用它? – VGR

+0

我temp添加了'System.out.println(「javafx.runtime.version:」+ System.getProperties()。get(「javafx.runtime.version」));'我的代碼並返回了'javafx.runtime。版本:8.0.66-b33'。所以我想我正在使用JavaFX 8. – Enkrypton

相關問題