2016-03-07 37 views
1

在我國,有3個頻道/節目的570000000 dvb頻率; 16,17,18將VLCJ用於DVB-T調諧器

這是我正在使用的mrl通過替換:程序值通過批處理文件更改通道。

"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" dvb-t://frequency=570000000:bandwidth=8 :dvb-adapter=0 :live-caching=1000 :program=16 

但是當我通過VLCJ使用相同的MRL似乎:程序沒有任何效果,隨機顯示通道不改變代碼。

import uk.co.caprica.vlcj.discovery.NativeDiscovery; 
import uk.co.caprica.vlcj.player.MediaPlayer; 
import uk.co.caprica.vlcj.player.MediaPlayerFactory; 


public class VLCJTest { 

    public static void main(String[] args) throws Exception { 
     new NativeDiscovery().discover(); 

     final MediaPlayerFactory factory = new MediaPlayerFactory(); 
     final MediaPlayer mediaPlayer = factory.newHeadlessMediaPlayer(); 

     String str = "dvb-t://frequency=570000000 :bandwidth=8 :dvb-adapter=0 :live-caching=1000 :program=16"; 

     mediaPlayer.playMedia(str); 

     Thread.currentThread().join(); 
    } 
} 

任何人都可以幫助我解決如何通過VLCJ mrl改變數字電視的頻道/節目嗎?

謝謝。

回答

0

字符串必須分成MRL和獨立的 「選項」:

String mrl = "dvb-t://frequency=570000000"; 
String[] options = { 
    ":bandwidth=8", 
    ":dvb-adapter=0", 
    ":live-caching=1000", 
    ":program=16" 
}; 
mediaPlayer.playMedia(mrl, options);