如何管理媒体播放器的多个实例



我对RecyclerView中的每个项目都有一个MediaPlayer,每个项目都有自己的播放/暂停按钮。 我想做的是:

  1. 当其中一个媒体播放器正在播放并按下其按钮时,暂停该播放器。按下其按钮后,启动播放器。

  2. 如果用户尝试启动另一个玩家,请停止正在播放的播放器并启动新播放器。


编辑

通过使用ExoPlayer解决(稍后将添加代码(

当您尝试在列表中播放时,我建议您仅在用户按下播放按钮时才创建媒体播放器实例。 当用户暂停或停止播放时,销毁媒体播放器实例。这样,您的列表滚动也会很流畅。如果您尝试实例化媒体播放器的多个实例,恐怕您不会获得流畅的性能。

所以你要做的是,你会创建一个安卓媒体播放器的包装类,它将控制播放、暂停、音量等功能。当用户请求发生任何操作(如按播放按钮(时,您将告诉此类处理职责。

还有一件事尝试使用ExoPlayer而不是媒体播放器。

最新更新