在vlcj中播放实时http流

时间:2010-12-01 18:24:09

标签: java audio-streaming vlc libvlc vlcj

我正在尝试使用vlcj在项目中播放实时网络电台。我已经玩了一些示例程序几个小时,但我无法获得我玩过的示例程序或程序来从URL播放流。

我尝试播放的网址示例如下:http://network.absoluteradio.co.uk/core/audio/wmp/live.asx?service=vr

为了让vlcj播放此流,我有什么特别的事吗?我在API中找不到任何帮助。 (假设它可以,因为它可以通过VLC媒体播放器播放!)

非常感谢

2 个答案:

答案 0 :(得分:1)

好的,您为我们提供的MRL http://network.absoluteradio.co.uk/core/audio/wmp/live.asx?service=vr是一个MMS服务器,可以提取可能包含至少一个子项的ASX(XML)元文件。

http://all-streaming-media.com/faq/streaming-media/Metafiles-ASX-Advanced-Stream-Redirector.htm

为了能够播放此类流媒体并浏览每个子项,您需要执行以下代码段:

VideoPanel.getMediaPlayer().setRepeat(true);
VideoPanel.getMediaPlayer().setPlaySubItems(true);
VideoPanel.getMediaPlayer().prepareMedia(media, options);

try {
    Thread.sleep(2000);
} catch (InterruptedException e) {
    e.printStackTrace();
}

for(String s: VideoPanel.getMediaPlayer().subItems()) System.out.println(s);
VideoPanel.getMediaPlayer().play();

对于上面的示例MRL,它将列出所有子项,如下所示:

http://wms.absoluteradio.co.uk/g1/absoluteradio.co.uk/prerolls/ar_account_1310455302_hi.wma
mms://wms.absoluteradio.co.uk/absoluteradio.co.uk/vr_lo?u=
http://wms.absoluteradio.co.uk/absoluteradio.co.uk/vr_lo?u=
mmsu://wms.absoluteradio.co.uk/absoluteradio.co.uk/vr_lo?u=
mmst://wms.absoluteradio.co.uk/absoluteradio.co.uk/vr_lo?u=
mms://wms.absoluteradio.co.uk/absoluteradio.co.uk/prerolls/problems_lo.wma

要停止播放所有这些内容,请设置以下代码段:

VideoPanel.getMediaPlayer().setRepeat(false);
VideoPanel.getMediaPlayer().setPlaySubItems(false);
VideoPanel.getMediaPlayer().stop();

有关更好的说明,请参阅:http://code.google.com/p/vlcj/wiki/HowToHandleYouTubeMedia

答案 1 :(得分:0)

您无法使用http直接播放此类链接。您将使用无线电台路由器的端口号。这是因为如果我想在我的工作场所从互联网接收我的家庭直播视频,我在网址上键入以下内容:http://my dns服务器IP地址:8080 8080是我在路由器上打开的端口号。