我在活动A中开始播放音乐。当活动B打开时,活动A关闭,活动A的音乐停止播放。当我回到活动A时,我希望音乐从它停止的地方开始播放。我该怎么做?
答案 0 :(得分:1)
您需要在活动A的onPause()
或onStop()
中存储(持久)媒体所处的位置,然后在onResume()
中检查存储的值并调用{媒体播放器上的{1}}。像这样:
获取您的SharedPreferences对象:
seekTo()
存储和回忆职位。
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor prefsEdit = prefs.edit();
请注意,如果你使用这种方法,你还需要在退出ActivityA时将位置设置为0而不转到B.否则当你回到它时,音乐不会在开始时开始的
答案 1 :(得分:0)
在活动A中,覆盖onPause()方法以暂停MediaPlayer并覆盖onResume()以恢复MediaPlayer。并确保在进入活动B时,mediacontroller对象不会被破坏。
答案 2 :(得分:0)
实际上,如果您仔细观察,实际的媒体播放器是在服务上处理而不是在活动上处理的。所以我的建议是尝试在服务中编写媒体播放器并更好地使用媒体播放器类的生命周期方法和活动有服务