我的AspectRationFrameLayout具有三个视图(按此顺序):
我需要字幕在“ 1.Exoplayer视图”上方,但在“ 2.Cordova视图”下方才能查看玩家的用户界面。 问题是,当我将字幕视图放置在“ 2.Cordova视图”下方时,字幕消失并且不再显示。
问题本身是:发生这种情况的可能原因是什么?我可以检查什么?
Cordova视图是透明的,您可以通过它看到视频,但不能看到字幕。字幕仅在位于Cordova视图顶部时显示。
请检查以下屏幕截图:
答案 0 :(得分:0)
您好,无需添加字幕视图exoplayer带有字幕功能,您可以像这样使用它
MediaSource mediaSource = new ExtractorMediaSource(Uri.parse("http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"),
mediaDataSourceFactory, extractorsFactory, null, null);
Format textFormat = Format.createTextSampleFormat(null, MimeTypes.APPLICATION_SUBRIP,
null, Format.NO_VALUE, Format.NO_VALUE, "en", null);
Uri uri = Uri.parse("http://www.storiesinflight.com/js_videosub/jellies.srt");
MediaSource subtitleSource = new SingleSampleMediaSource(uri, mediaDataSourceFactory, textFormat, C.TIME_UNSET);
MergingMediaSource mergedSource = new MergingMediaSource(mediaSource, subtitleSource);
player.prepare(mergedSource);
有关更多详细信息,请检查this tutorial,也可以检查this错误的发现