2010-12-01 3 views
3

Я пытаюсь использовать vlcj для воспроизведения прямых интернет-радиостанций в проекте. Я несколько раз играл с некоторыми примерами программ, но я не могу получить ни примеры программ, ни программ, которые я играл, чтобы воспроизвести поток из URL.Играю в прямом эфире http stream in vlcj

Пример URL я пытаюсь играть в: 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, чтобы играть такую ​​ссылку непосредственно. Вы будете использовать номер порта маршрутизатора радиостанции. это потому, что, если я хочу получать потоковое видео в прямом эфире в Интернете на своем рабочем месте, я набираю следующее по URL: http://my DNS-адрес DNS-сервера: 8080 8080 - это номер порта, который я открыл на моем маршрутизаторе.