在我国,dvb的频率为570000000,有三个频道/节目: 16,17,18
这是我使用的mrl,通过替换:Program-值,通过批处理文件更改vlc的通道。
"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改变数字电视频道/节目吗?
谢谢。
发布于 2016-03-07 22:53:19
字符串必须拆分为MRL和单独的“选项”:
String mrl = "dvb-t://frequency=570000000";
String[] options = {
":bandwidth=8",
":dvb-adapter=0",
":live-caching=1000",
":program=16"
};
mediaPlayer.playMedia(mrl, options);https://stackoverflow.com/questions/35835855
复制相似问题