Exo Player становится черным при анимации фрагмента контейнера. Как это исправить? - PullRequest
1 голос
/ 06 февраля 2020

У меня есть представление Exoplayer во фрагменте, когда я анимирую представление контейнера фрагмента из действия, экзо-игрок станет черным. Я использовал setKeepContentOnPlayerReset(true);, чтобы сохранить последний кадр, и он работает нормально. Но когда я вызываю анимацию (скользящую анимацию) в представлении контейнера фрагмента (это макет кадра) после того, как видео закончено, Exo Player отобразит черный экран. (даже переход выхода из фрагмента также создает ту же проблему в Exo Player, на этот раз я не заменил фрагмент, просто анимировал представление контейнера, проблема все еще присутствует) Я не имею ни малейшего понятия, связанного с этой проблемой, было бы очень полезно, если бы кто-то мог поделиться какой-то идеей, связанной с этим. приветствует каждое предложение и ответы, связанные с этим. Спасибо.

1 Ответ

1 голос
/ 05 марта 2020

Оказалось, что использование "texture_view" для "app:surface_type" решит проблему. Это заставит игрока в Exo использовать вид текстуры вместо вида поверхности, что сделает анимацию и прокрутку плавными.

В документации говорится:

В более ранних выпусках это может привести к нежелательным эффектам, когда SurfaceView помещается в контейнер с прокруткой или когда он подвергается анимации. К таким эффектам относилось содержимое SurfaceView, которое, по-видимому, немного отставало от того места, где оно должно отображаться, и вид, становящийся черным при анимации

В xml файле, мы можем включить Текстура выглядит следующим образом

 <com.google.android.exoplayer2.ui.SimpleExoPlayerView
    android:id="@+id/playerView"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    app:surface_type="texture_view"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...