Установка динамического идентификатора программы (sid) для LibVLC в Android - PullRequest
0 голосов
/ 15 мая 2019

В своем приложении для Android я использую libvlc 3.1.1 для чтения потока DVB.Поэтому я создаю аргументы, определяющие LibVLC, создаю MediaPlayer и создаю Media из URI, соответствующего моему потоку DVB.

Это работает.Теперь я хотел бы установить SID динамически ("--program = 769") после создания VLCLib, чтобы избежать интенсивной загрузки библиотеки.Любая идея?

Я прочитал эту документацию: https://wiki.videolan.org/Documentation:Advanced_Use_of_VLC/

    final ArrayList<String> args = new ArrayList<>();
    args.add("--video-filter=deinterlace");
    args.add("--aout=opensles");
    args.add("--deinterlace=-1");
    args.add("--sout-deinterlace-mode=bob");
    args.add("--vbi-opaque");
   // args.add("--program=769"); -> That is working
    mLibVLC = new LibVLC(this, args);
    mMediaPlayer = new MediaPlayer(mLibVLC);
    mMediaPlayer.setEventListener(event -> {
        ...
    }
    final IVLCVout vlcVout = mMediaPlayer.getVLCVout();
    vlcVout.setVideoView(mVideoSurface);
    vlcVout.setSubtitlesView(mSubtitlesSurface);
    mMediaPlayer.getVLCVout().attachViews(this);

    [...]

    if (mMediaPlayer.isPlaying()) {
        mMediaPlayer.stop();
    }
    final Media media = new Media(mLibVLC, uri);
   // There, I would like to set the SID(=program number)

    media.setHWDecoderEnabled(true, false);
    mMediaPlayer.setMedia(media);
    mMediaPlayer.play();
    media.release();

1 Ответ

1 голос
/ 16 мая 2019

Я думаю, вы можете установить его в качестве медиа-опции:

media.addOption(":program=769");
...