【问题标题】:Using VLCJ for DVB-T tuner将 VLCJ 用于 DVB-T 调谐器
【发布时间】:2023-03-25 20:39:01
【问题描述】:

在我国,dvb 频率为 570000000,有 3 个频道/节目; 16,17,18

这是我用来通过批处理文件通过替换 :program 值来更改 vlc 频道的 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 时,似乎 :program 没有任何效果,并且在不更改代码的情况下随机显示频道。

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 更改数字电视的频道/节目?

谢谢。

【问题讨论】:

    标签: java swing vlcj dvb


    【解决方案1】:

    字符串必须拆分为 MRL 和单独的“选项”:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-27
      • 1970-01-01
      • 2011-05-14
      相关资源
      最近更新 更多