2010-12-01 6 views
3

J'essaie d'utiliser vlcj pour jouer en direct des stations de radio sur Internet dans un projet. J'ai joué avec quelques exemples de programmes pendant quelques heures, mais je ne peux pas obtenir les exemples de programmes ou de programmes avec lesquels j'ai joué pour lire le flux à partir de l'URL.Lecture de flux http en direct dans vlcj

Un exemple d'une URL que je suis en train de jouer est: http://network.absoluteradio.co.uk/core/audio/wmp/live.asx?service=vr

Est-je quelque chose de spécial dois faire afin d'obtenir vlcj jouer ce flux? Je n'ai rien trouvé pour aider dans l'API. (En supposant qu'il peut, car il peut être joué par le lecteur multimédia VLC!) Merci un lot

Répondre

1

Ok, la MRL que vous nous avez fournie http://network.absoluteradio.co.uk/core/audio/wmp/live.asx?service=vr est un serveur MMS qui peut extraire un métafichier ASX (XML) pouvant contenir au moins un sous-élément.

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

Pour pouvoir jouer ce type de flux et de passer par chaque sous-élément, vous devez faire l'extrait de code suivant:

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

Pour la LMR exemple ci-dessus, il va lister tous les sous-éléments comme suit:

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 

Pour arrêter la lecture tous, définir le code suivant:

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

Pour une meilleure explication, reportez-vous à: http://code.google.com/p/vlcj/wiki/HowToHandleYouTubeMedia

+0

C'est la solution que je suis finalement allé et cela a fonctionné avec succès! – clamped

0

Vous ne pouvez pas utiliser le protocole HTTP pour jouer ce lien directement. Vous utiliserez le numéro de port du routeur de la station de radio. C'est parce que si je veux recevoir mon flux vidéo en direct de la maison sur mon lieu de travail, je tape ce qui suit sur l'adresse: http://my Adresse IP du serveur DNS: 8080 Le 8080 est le numéro de port que j'ai ouvert sur mon routeur.