按主页按钮然后按最近列表中的应用程序后,音乐不会恢复。请对给定的代码进行必要的更改。
public class MainActivity extends AppCompatActivity {
@Override
protected void onPause() {
super.onPause();
mySound.release();
}
@Override
protected void onResume() {
super.onResume();
if(mySound != null)
mySound.start();
}
MediaPlayer mySound;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mySound = MediaPlayer.create(MainActivity.this,R.raw.sleep);
mySound.start();
mySound.setLooping(true);
}
}
问题出在你的
Activity
的onPause()
方法上,只需将其更改为即可。
@Override
protected void onPause() {
super.onPause();
if (mySound != null)
mySound.pause();
}
仅当不再需要时才在
MediaPlayer
上调用release()。来自 Android docs
无效释放()
释放与此 MediaPlayer 对象关联的资源。这是 使用完后调用此方法被认为是一个好习惯 媒体播放器。
所以改用
pause()
无效暂停()
暂停播放。调用start()来恢复。
看一下
MediaPlayer
的状态图
该图表示的是有效状态,可以使用 MediaPlayer
对象。