使用JavaFX播放音频流

时间:2014-05-13 13:03:38

标签: java audio javafx javasound

我试图使用JavaFX Mediaplayer组件制作简单的音频播放器。所有本地文件都很好但我也想实现网络电台。

代码:

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));

    }

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

2 个答案:

答案 0 :(得分:1)

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

  1. 您正在尝试在非Javafx线程上运行JAVAFX组件,这将导致错误。尝试在start method内运行您的程序。请浏览How to use JavaFX MediaPlayer correctly?

  2. 您尝试访问的网址必须是Media Compoenent

  3. 尝试在Javafx Media

    上浏览这个非常棒的例子

    http://docs.oracle.com/javafx/2/media/EmbeddedMediaPlayer.zip

    N.B。该示例包含的数据远多于您的要求,但它是一个很好的例子!

答案 1 :(得分:0)

"http://91.121.164.186:8050"是一个网站(HTML文档),而不是音频文件。您需要下载一个音频文件,玩家知道该怎么做。