媒体播放器何时回归活动

时间:2015-04-06 11:15:53

标签: java android

这是我的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();
}

我的活动中有一个媒体播放器播放,我的目标是当一个新活动打开时它将停止,当有一个背面按下时,音乐将重置并重新开始播放。此代码仅停止新活动中的音乐,当我回来时没有音乐。为什么呢?

1 个答案:

答案 0 :(得分:1)

 if (m == null) {
     m.reset();
     m = MediaPlayer.create(this, R.raw.menu);
     m.start();
 }

这里你正在启动一个未初始化的MediaPlayer实例。在调用start()之前,您需要先准备它。因此,您应该获得IllegalStateExceptionhere是一份声明,供参考。