libvlc - 在 Android 中将程序 ID (sid) 动态设置为 LibVLC
问题描述
在我的 Android 应用程序中,我使用 libvlc 3.1.1 来读取 DVB 流。因此,我构建了我的 LibVLC 指定参数,构建了 MediaPlayer,并从对应于我的 DVB 流的 URI 构建了媒体。
那是有效的。现在我想在创建 VLCLib 后动态设置 SID(“--program=769”),以避免加载繁重的库。任何想法 ?
我阅读了这份文档: 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();
解决方案
我认为您可以将其设置为媒体选项:
media.addOption(":program=769");
推荐阅读
- web-applications - 构建连接到 Google API 的应用
- javascript - Django 没有通过 DetailView 重新渲染 css 和 JS
- c++ - 如何从文本中保留一个单词并将其放入链接列表中?
- python-3.x - 在python3的foreach循环中定义步长
- sql - 为什么这个 Postgis 距离查询这么慢?Postgres 的查询估计器减少了 10000 倍?
- javascript - JavaScript 对象数组 - 基于嵌套对象从数组中删除重复对象
- java - 使用 JNDI 和 DataSource 的简单应用程序,没有服务器、ServiceUnavailableException、ConnectException
- .net - 在 Azure App Services 应用程序中向 localhost 发出请求
- javascript - 数以千计的引导开关:强制回流可能是性能瓶颈
- java - 从 Firebase 实时数据库获取当前用户信息