这是我的onPause:
@Override
protected void onPause() {
try{
if(m.isPlaying()){
m.pause();
}
}
catch(Exception e){
}
super.onPause();
}
这是我的onStop:
@Override
protected void onStop() {
try{
if(m!=null){
m.stop();
m.release();
}
}
catch(Exception e){
}
super.onStop();
}
这是我的onResume:
@Override
protected void onResume() {
try{
if (m == null) {
m.reset();
m = MediaPlayer.create(this, R.raw.menu);
m.start();
}
else{
m.start();
}
}
catch(Exception e){
}
super.onResume();
}
我的活动中有一个媒体播放器播放,我的目标是当一个新活动打开时它将停止,当有一个背面按下时,音乐将重置并重新开始播放。此代码仅停止新活动中的音乐,当我回来时没有音乐。为什么呢?
答案 0 :(得分:1)
if (m == null) {
m.reset();
m = MediaPlayer.create(this, R.raw.menu);
m.start();
}
这里你正在启动一个未初始化的MediaPlayer实例。在调用start()
之前,您需要先准备它。因此,您应该获得IllegalStateException
。
here是一份声明,供参考。