如何管理多个媒体播放器实例?
How to manage multiple instances of mediaplayer?
RecyclerView
中的每一项我都有一个 MediaPlayer
,每一项都有自己的 play/pause 按钮。我想做的是:
当其中一个媒体播放器正在播放并按下其按钮时,暂停播放器。当它的按钮被按下时,启动播放器。
如果用户尝试启动另一个播放器,请停止正在播放的播放器并启动新的播放器。
编辑
使用ExoPlayer解决(稍后添加代码)
当您尝试在列表中播放时,我建议您仅在用户按下播放按钮时创建媒体播放器实例。当用户暂停或停止播放时,销毁 mediaplayer 实例。这样你的列表滚动也会很流畅。如果您尝试实例化媒体播放器的多个实例,恐怕您将无法获得流畅的性能。
所以你会做什么,你会创建一个 android 媒体播放器的包装器 class 来控制播放、暂停、音量等功能。当用户要求任何动作发生时,比如按下播放按钮,你会告诉这个 class 来处理责任。
还有一件事尝试使用 ExoPlayer 而不是媒体播放器。
RecyclerView
中的每一项我都有一个 MediaPlayer
,每一项都有自己的 play/pause 按钮。我想做的是:
当其中一个媒体播放器正在播放并按下其按钮时,暂停播放器。当它的按钮被按下时,启动播放器。
如果用户尝试启动另一个播放器,请停止正在播放的播放器并启动新的播放器。
编辑
使用ExoPlayer解决(稍后添加代码)
当您尝试在列表中播放时,我建议您仅在用户按下播放按钮时创建媒体播放器实例。当用户暂停或停止播放时,销毁 mediaplayer 实例。这样你的列表滚动也会很流畅。如果您尝试实例化媒体播放器的多个实例,恐怕您将无法获得流畅的性能。
所以你会做什么,你会创建一个 android 媒体播放器的包装器 class 来控制播放、暂停、音量等功能。当用户要求任何动作发生时,比如按下播放按钮,你会告诉这个 class 来处理责任。
还有一件事尝试使用 ExoPlayer 而不是媒体播放器。