2017-06-01 4 views
0

用URLソースを使用します。のJavaFX:私はそうのように私のJavaFXプロジェクトのためにimgurの私のイメージをホストすることができるよオーディオ

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

しかし、私は、オーディオファイルに対して同じことをしようとすると、それはdoesnの

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

イメージを使用するのと同じ方法でURLからオーディオファイルを使用する方法はありますか? ファイルホストにある他のイメージを読み込めるので、これはHTTPエラー403ではないことに注意してください。

+0

ストレンジ:

最も簡単な解決策は単純にhttps:を使用するようにURLを変更することです。私はファイルをダウンロードして再生することができますが、どのソフトウェアでもURLから直接再生することはできません。 *編集:*そのURLがHTTP 301リダイレクトを送り返しているように見えます。それはおそらく理由でしょう。 – VGR

+0

@VGR回避策についてご提案がありますので、私のオーディオにURLソースを使用できますか? – Enkrypton

答えて

1

問題は、サウンドURLがhttp:のURLで、URLがhttps:にリダイレクトされるHTTP 301応答を返すことです。これは安全とはみなされないため、Javaは自動的にそれに従いません。この詳細については、URLConnection Doesn't Follow Redirectを参照してください。

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

実際には、もともとhttpsでそれを持っていましたが、それは私に次の例外を与えました:https://pastebin.com/HhVQKJc8 – Enkrypton

+0

JavaFX 8を使用していますか?そうでない場合は、それを使用しない理由がありますか? – VGR

+0

私は 'System.out.println(" javafx.runtime.version: "+ System.getProperties()。get(" javafx.runtime.version "));を追加し、' javafx.runtimeを返しました。バージョン:8.0.66-b33'。だから私はJavaFX 8を使用していると仮定します。 – Enkrypton

関連する問題