Лучший способ выпустить и повторно инициализировать exoplayer в RecyclerView - PullRequest
1 голос
/ 31 марта 2020

У меня есть два экземпляра Exoplayer с разными медиа источниками.

В настоящее время

Перед инициализацией любого из игроков. Я проверяю, подключен ли какой-либо плеер к поверхности, если да, затем освобождаю его и инициализирую заново с новым оператором

if(videoPlayerView.getPlayer() != null) {
             videoPlayerView.getPlayer().release();
             videoPlayerView.setPlayer(null);
 }

videoPlayerView - это мой PlayerView в SimpleExoPlayer

Но после просмотра элемент отдельного списка становится черный вместо того, чтобы играть снова.

1 Ответ

1 голос
/ 02 апреля 2020

Раньше я делал с тобой аналогичные вещи. Вам нужен глобальный пул игроков для управления игроками. Вам не нужно выпускать его каждый раз. Просто вызовите метод stop. А при переключении видео просто сбросьте исходный код. Чтобы он проигрывался мгновенно без черного, вам нужно подготовить его. Когда игра закончится, отпустите всех игроков.

...