视图仅显示在顶部或根本不显示

时间:2018-09-30 10:22:13

标签: android android-layout exoplayer exoplayer2.x

我的AspectRationFrameLayout具有三个视图(按此顺序):

  1. Exoplayer视图(观看视频)
  2. 科多瓦视图(玩家的用户界面)
  3. 字幕视图

我需要字幕在“ 1.Exoplayer视图”上方,但在“ 2.Cordova视图”下方才能查看玩家的用户界面。 问题是,当我将字幕视图放置在“ 2.Cordova视图”下方时,字幕消失并且不再显示。

问题本身是:发生这种情况的可能原因是什么?我可以检查什么?

Cordova视图是透明的,您可以通过它看到视频,但不能看到字幕。字幕仅在位于Cordova视图顶部时显示。

请检查以下屏幕截图:

subtitle view on top

1 个答案:

答案 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错误的发现