【问题标题】:How to manage multiple instances of mediaplayer?如何管理多个媒体播放器实例?
【发布时间】:2019-06-18 10:27:36
【问题描述】:
RecyclerView 中的每个项目都有一个MediaPlayer,每个项目都有自己的播放/暂停按钮。我想做的是:
当其中一个媒体播放器正在播放并按下其按钮时,暂停播放器。当按下它的按钮时,启动播放器。
如果用户尝试启动另一个播放器,请停止正在播放的播放器并启动新的播放器。
编辑
使用ExoPlayer解决(稍后会添加代码)
【问题讨论】:
标签:
java
android
android-recyclerview
android-mediaplayer
【解决方案1】:
当您尝试在列表中播放时,我建议您仅在用户按下播放按钮时创建媒体播放器实例。当用户暂停或停止播放时,销毁媒体播放器实例。这样你的列表滚动也会很流畅。如果您尝试实例化媒体播放器的多个实例,恐怕您将无法获得流畅的性能。
所以你会做什么,你会创建一个 android 媒体播放器的包装类来控制播放、暂停、音量等功能。当用户要求任何动作发生时,比如按下播放按钮,你会告诉这个类来处理职责。
尝试使用ExoPlayer 代替媒体播放器。