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