2010-12-01 86 views
3

我正嘗試使用vlcj在項目中播放實況互聯網廣播電臺。我已經在一些示例程序中玩了幾個小時,但我無法獲得我玩過的示例程序或程序,以便從URL中播放流。在vlcj中播放實時http流

一個網址我試圖打的一個例子是:http://network.absoluteradio.co.uk/core/audio/wmp/live.asx?service=vr

有什麼特別的我爲了得到vlcj玩這種流呢?我無法在API中找到任何幫助。 (假設它可以,因爲它可以通過VLC媒體播放器播放!)

非常感謝

回答

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

+0

這是我最終去了,並解決它成功地工作! – clamped 2011-11-16 21:52:23

0

您不能使用HTTP來直接播放此類鏈接。您將會使用無線電臺路由器的端口號。這是因爲如果我想在我的工作場所從互聯網接收我家的實時視頻流,請在網址上輸入以下內容:http://my dns服務器IP地址:8080 8080是我在路由器上打開的端口號。