我正在尝试使用 vlcj 在项目中播放现场互联网广播电台。我已经玩了几个小时的一些示例程序,但是我无法获得示例程序或我玩过的程序来播放来自 URL 的流。
我尝试播放的 URL 示例是:http ://network.absoluteradio.co.uk/core/audio/wmp/live.asx?service=vr
为了让 vlcj 播放这个流,我需要做些什么特别的事情吗?我在 API 中找不到任何帮助。(假设它可以,因为它可以通过 VLC 媒体播放器播放!)
非常感谢
我正在尝试使用 vlcj 在项目中播放现场互联网广播电台。我已经玩了几个小时的一些示例程序,但是我无法获得示例程序或我玩过的程序来播放来自 URL 的流。
我尝试播放的 URL 示例是:http ://network.absoluteradio.co.uk/core/audio/wmp/live.asx?service=vr
为了让 vlcj 播放这个流,我需要做些什么特别的事情吗?我在 API 中找不到任何帮助。(假设它可以,因为它可以通过 VLC 媒体播放器播放!)
非常感谢
好的,您提供给我们的 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
您不能使用 http 直接播放此类链接。您将不得不使用无线电台路由器的端口号。这是因为如果我想在我的工作场所接收来自互联网的家庭实时视频流,我在 url 上键入以下内容: http://my dns server ip address:8080 8080 是我在路由器上打开的端口号。