ExoPlayer показывает неправильное изображение предварительного просмотра при перелистывании экранов через ViewPager - PullRequest
0 голосов
/ 01 сентября 2018

У меня есть PlayerView, который занимает верхнюю половину фрагмента в портретной ориентации, а нижняя половина показывает некоторый текст. Фрагмент является частью ViewPager, и пользователь может переключать экраны с различными видео.

Проблема: При перемещении между экранами (смахивание вправо / влево) PlayerView иногда показывает изображение предварительного просмотра с предыдущего экрана. Он отображается только на долю секунды, а затем показывает правильное изображение для предварительного просмотра, но это заметно.

Вопрос: Как заставить PlayerView показывать только правильное изображение для предварительного просмотра? Он не должен мигать с предыдущей картинкой. Может быть, я что-то неправильно использую (неправильное создание экземпляра Player или View ...)? Может быть, это обходной путь, если это известная проблема (размывание видео во время считывания и т. Д.)? Любое предложение / идея приветствуется.

Вот как выглядит мой макет :

<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 генерирует при создании активности с вкладками) с единственным расширением - я сохраняю в нем текущий фрагмент , как это предлагается здесь .

...