1

私たちの国では、3 つのチャンネル/プログラムで 570000000 の dvb 周波数があります。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を介してデジタルテレビのチャンネル/プログラムを変更する方法を解決するのを手伝ってくれる人はいますか?

ありがとうございました。

4

1 に答える 1

0

文字列は MRL に分割し、「オプション」を分離する必要があります。

String mrl = "dvb-t://frequency=570000000";
String[] options = {
    ":bandwidth=8",
    ":dvb-adapter=0",
    ":live-caching=1000",
    ":program=16"
};
mediaPlayer.playMedia(mrl, options);
于 2016-03-07T22:53:19.177 に答える