在 Android 中,当我按下返回/主页按钮时,音乐停止(这很好),但是当我重新进入活动时,我想开始/恢复播放音乐。
当程序进入后台时,Android 如何管理音频的播放?
在 Android 中,当我按下返回/主页按钮时,音乐停止(这很好),但是当我重新进入活动时,我想开始/恢复播放音乐。
当程序进入后台时,Android 如何管理音频的播放?
下面给出的代码仅在活动没有被破坏的情况下才有效。如果您想在用户按下后退按钮时生存,您必须将媒体播放器的当前状态写入文件,并在活动再次启动时重新加载。
我不确定这是正确的行为。按下后退按钮后,您的应用程序应该终止,并在下次重置状态下启动。我认为。如果后退按钮在您的应用程序中用于导航,解决方案是在终止应用程序的最后一个后退按钮上发出警告,询问用户真的很想退出。重写 Activity.onBackPressed 以自定义后退按钮的行为。
另请注意,即使在暂停状态下,如果系统正在寻找更多内存、屏幕翻转或其他几个高级系统状态发生变化,您的活动也可能被破坏。为了处理这种情况,您需要实现 savedInstanceState 处理。实现 Activity.onSaveInstanceState,然后在您的 onCreate 实现中查找非空的 savedInstanceState 参数。
在这两种情况下,您都必须实施某种方法来重新创建媒体播放器,再次准备音频,并在恢复的音频中寻找正确的位置。
通常,您应该包含更多关于您的问题的详细信息和代码,但我只是碰巧看到了您关于相关问题的其他帖子。
您需要以下内容onResume()
。请注意,如果您在mp.start()
in 中进行操作,则可以在 after 调用onCreate()
时删除该 start 。onResume()
onCreate()
@Override
protected void onResume() {
if(mp != null && !mp.isPlaying())
mp.start();
super.onResume();
}
start()
如果停止或从不播放, fromMeidaPlayer
将重新开始,如果暂停,则从暂停的位置开始。
添加此方法,
@Override
protected void onResume() {
super.onResume();
if(mp != null)
mp.start();
}