通过ViewPager滑动屏幕时,ExoPlayer显示错误的预览图像

时间:2018-08-31 21:09:46

标签: android android-viewpager exoplayer exoplayer2.x

我有一个PlayerView,它以纵向放置在Fragment的上半部分,下半部分显示了一些文本。该片段是ViewPager的一部分,用户可以切换带有不同视频的屏幕。

问题:在屏幕之间导航(向右/向左滑动)时,PlayerView有时会显示前一屏幕的预览图像。仅显示了几分之一秒,然后显示了正确的预览图片,但是很明显。

问题:如何使PlayerView仅显示正确的预览图片?它不应与上一张图片一起闪烁。可能是我滥用了某些内容(播放器或视图的实例化错误...)?如果是已知问题(例如在滑动时模糊视频等),可能有一些解决方法?任何建议/想法都会受到赞赏。

这是我的布局外观

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.exoplayer2.ui.PlayerView
        android:id="@+id/video_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_below="@id/video_view"
        android:scrollbars="vertical" />

</RelativeLayout>

在片段代码中,我有:

@Override
public void onStart() {
    ...
    SimpleExoPlayer player = ExoPlayerFactory.newSimpleInstance(
            getActivity(), new DefaultTrackSelector()
    );
    player.prepare(mediaSource);
    playerView.setPlayer(player);
    ...
}

编辑1。

按照评论部分的要求,我的PageAdapter是非常标准的(就像一个Android Studio在创建选项卡式活动时生成的那样),唯一的扩展名是-我将其中的当前片段保存在just like it is suggested here中。 / p>

0 个答案:

没有答案