Как управлять несколькими экземплярами медиаплеера? - PullRequest
0 голосов
/ 18 июня 2019

У меня есть один MediaPlayer для каждого элемента в RecyclerView, каждый элемент имеет собственную кнопку воспроизведения / паузы.я пытаюсь сделать следующее:

  1. Когда воспроизводится один из медиаплееров и нажата его кнопка, приостановите воспроизведение.когда нажата его кнопка, запустите плеер.

  2. Если пользователь пытается запустить другого игрока, остановите игрока, который играет, и запустите нового.


РЕДАКТИРОВАТЬ

Решено с помощью ExoPlayer (добавим код позже)

1 Ответ

1 голос
/ 18 июня 2019

Поскольку вы пытаетесь воспроизвести внутри списка, я бы посоветовал вам создавать экземпляр медиаплеера только тогда, когда пользователь нажимает кнопку воспроизведения. и когда пользователь приостанавливает или останавливает воспроизведение, уничтожают экземпляр медиаплеера. Таким образом, прокрутка списка также будет плавной. Если вы попытаетесь создать несколько экземпляров медиаплеера, боюсь, вы не получите плавную работу.

Итак, что бы вы ни делали, вы бы создали класс-оболочку для мультимедийного проигрывателя Android, который контролировал бы функции воспроизведения, приостановки, громкости и т. Д. Когда пользователь запрашивает какое-либо действие, такое как нажатие кнопки воспроизведения, вы указываете этому классу справиться с обязанностями.

Еще одна вещь, попробуйте использовать ExoPlayer вместо медиаплеера.

...