我对RecyclerView
中的每个项目都有一个MediaPlayer
,每个项目都有自己的播放/暂停按钮。 我想做的是:
-
当其中一个媒体播放器正在播放并按下其按钮时,暂停该播放器。按下其按钮后,启动播放器。
-
如果用户尝试启动另一个玩家,请停止正在播放的播放器并启动新播放器。
编辑
通过使用ExoPlayer解决(稍后将添加代码(
当您尝试在列表中播放时,我建议您仅在用户按下播放按钮时才创建媒体播放器实例。 当用户暂停或停止播放时,销毁媒体播放器实例。这样,您的列表滚动也会很流畅。如果您尝试实例化媒体播放器的多个实例,恐怕您不会获得流畅的性能。
所以你要做的是,你会创建一个安卓媒体播放器的包装类,它将控制播放、暂停、音量等功能。当用户请求发生任何操作(如按播放按钮(时,您将告诉此类处理职责。
还有一件事尝试使用ExoPlayer而不是媒体播放器。