使用JavaFX播放音频流

使用JavaFX播放音频流,java,audio,javafx,javasound,Java,Audio,Javafx,Javasound,我正在尝试使用JavaFXMediaPlayer组件制作简单的音频播放器。所有本地文件都很好,但我还想实现互联网广播 代码: 当我像这样运行它时,没有错误,但没有音频。怎么了?在Java中播放广播流的其他可能性是什么?“http://91.121.164.186:8050“是一个网站(HTML文档),而不是音频文件。您需要下载一个音频文件,播放器知道如何处理该文件。在您当前的示例中,我看到两个错误 您试图在非JAVAFX线程上运行JAVAFX组件,这将导致错误。尝试在start方法中运行程序。请

我正在尝试使用JavaFXMediaPlayer组件制作简单的音频播放器。所有本地文件都很好,但我还想实现互联网广播

代码:


当我像这样运行它时,没有错误,但没有音频。怎么了?在Java中播放广播流的其他可能性是什么?

“http://91.121.164.186:8050“
是一个网站(HTML文档),而不是音频文件。您需要下载一个音频文件,播放器知道如何处理该文件。

在您当前的示例中,我看到两个错误

  • 您试图在非JAVAFX线程上运行JAVAFX组件,这将导致错误。尝试在
    start方法中运行程序。请通过

  • 您试图访问的URL必须是
    媒体组件

  • 尝试在Javafx媒体上浏览这个非常好的示例


    注意:这个例子的数据比你需要的多得多,但它是一个很好的例子

    正如我所说,它正在处理本地文件。url来自.pls文件,所以它应该是好的。如何将其转换为媒体组件?您可以使用此处指定的媒体类型作为媒体播放器的直接媒体
    public static void main(String[] args) throws URISyntaxException {
            new JFXPanel(); //init jfx library
            String u = "http://91.121.164.186:8050";
            Media m=null;
            try {
                m = new Media(u);
            } catch (MalformedURLException e) {
                e.printStackTrace();
            }
            MediaPlayer player = new MediaPlayer(m);
            System.out.println("play");
            player.play();
            player.setVolume(new Double(1));
    
        }