Как я могу воспроизвести видео в программе RecyclerView, когда оно видно, и сделать паузу, как только оно станет невидимым (Прокрутка) - PullRequest
0 голосов
/ 07 февраля 2020

У меня гетерогенное представление переработчика, как в Facebook (текст, изображения, видео), я реализовал в нем exoplayer для воспроизведения видео, он работает нормально, но проблема возникает, когда я прокручиваю воспроизводимое видео, поскольку его видео не видно, но его звук продолжает воспроизводиться до его завершения. У меня та же самая структура просмотра, что и в android docs (ViewholderClass, adapterclass и ActivityClass), такая же, как ... Основной класс: извлечение содержимого из firebase, класс Viewholder: проверяет тип записи и соответственно показывает, класс адаптера: обычный методы для привязки данных. Короче говоря, проблема с видоискателем в том, что нет доступных методов жизненного цикла, и я не могу получить ссылку на объект в классе адаптера, чтобы приостановить его в onDetachedFromRecyclerView (). я перепробовал все ответы на stackoverflow, но ничего не получалось. У меня нет большого опыта в android, так что если кто-то может показать пример кода, который будет чрезвычайно полезен, заранее спасибо!

1 Ответ

0 голосов
/ 07 февраля 2020

Так что решайте свою проблему шаг за шагом

  1. Получить, какой элемент виден на экране. Чтобы узнать, какой элемент виден на вашем экране, вы можете использовать следующие методы

    int findFirstVisibleItemPosition();
    int findFirstCompletelyVisibleItemPosition();
    int findLastVisibleItemPosition();
    int findLastCompletelyVisibleItemPosition();
    

с помощью LayoutManager, прилагаемого к вашему обзору переработчика, например: * 10101

LinearLayoutManager layoutManager = ((LinearLayoutManager)mRecyclerView.getLayoutManager());
int visiblePosition = layoutManager.findFirstCompletelyVisibleItemPosition();

, так что теперь с помощью visiblePosition вы можете получить свой предмет из адаптера

Теперь запустите и приостановите видео, которое видно на экране.
  • Запустите видео с элемента, который виден на экране. ссылка
  • Пауза видео, которое прокручивается вверх или вниз ref. ссылка
...