android - 在 Android 上使用带有字幕的 CastPlayer
问题描述
我正在尝试使用 MediaItem 类加载视频并在 exoplayer2 CastPlayer 上显示字幕。我可以在投射之前在手机上看到字幕,并且在使用 application/dash+xml 格式投射到电视时视频播放良好。但是,我无法弄清楚如何让字幕出现在电视上。我使用 MediaItem.Builder().setSubtitles(subtitleList) 添加了 MediaItem.Subtitle。以前我可以使用已弃用的 MediaInfo 类来做到这一点。我看不到 CastPlayer 类中的任何方法来打开它们或如何自定义 PlayerControlView 以添加字幕/标题按钮。任何想法都非常感谢。
List<MediaItem.Subtitle> subtitleList = new ArrayList<>();
MediaItem.Subtitle externalSubtitle = new MediaItem.Subtitle(Uri.parse(url), MimeTypes.TEXT_VTT,"en", C.SELECTION_FLAG_DEFAULT, C.ROLE_FLAG_SUBTITLE, "ENGLISH-EXTERNAL");
subtitleList.add(externalSubtitle);
MediaItem mediaItem = new MediaItem.Builder()
.setUri(url)
.setMediaMetadata(mediaMetadata)
.setMimeType(mimeType)
.setSubtitles(subtitleList)
.build();
castPlayer.setMediaItem(mMediaItem);
解决方案
推荐阅读
- python-3.x - pandas 交叉表和标准化索引
- prometheus - 远程直接写入灭霸
- java - 在异常情况下执行 try 块中的剩余代码
- c# - 如何将我自己的枚举类型转换为通用枚举类型?
- javascript - 比较 2 个日期并以天为单位获取实时值 PHP 数据表
- micronaut - 具有所需变量的路径的 HttpServerFilter
- methods - 是否可以在参数列表中解构 self 上无可辩驳的模式?
- java - java中一个四核CPU可以同时开启多少个并发线程,规则是什么?
- apache-ranger - Hive 表上的 Apache Ranger 行级过滤策略
- typescript - 打字稿:从函数定义派生接口