我在onCreate中实例化了MediaPlayer。
操作步骤:
1.选择播放一首歌
2.点“返回”回到主页
3.然后再回到播放器界面问题:第一首歌无法停止,如果再播放一首歌,那么将同时有两首歌在播放!
请教,如何判断已有一个MediaPlayer被实例化。

解决方案 »

  1.   

    你参考下下载来的应用 返回键一般会弹出对话框是否退出应用 要重写onKeyDown 
      

  2.   

    把MediaPlayer放到后台服务里去,只要服务不关掉就不必重新实例化MediaPlayer了
      

  3.   

    像播放歌曲这个功能需要用servcie来实现,aidl写播放,暂停,上下首,播放模式,以及判断是不是同一首歌的接口,全局就一个MediaPlayer对象!
      

  4.   

    播放器界面Activity 的LunchMode 改为SingleInstance 试试
      

  5.   

     onResume方法再此调用你的播放器 即可返回时候在播放。建议看看那activity生命周期
      

  6.   

    如果只是用Activity播放的话,并且希望退出Activity时停止播放歌曲。
    先定义一个全局变量mediaPlayer
    在播放歌曲前
    if(mediaPlayer == null){
        //new MediaPlayer(),prepare()等操作
    }
    在onStop()的时候,停止歌曲
    if(mediaPlayer 1= null){
        mediaPlayer.stop();
        mediaPlayer.release();
        mediaPlayer = null;
    }点击home再立即回到activity,不会调用onCreate(),会调用onResume().除非你保证你的activity被彻底销毁。
      

  7.   

    onResume()在这里边写,就会避免两个音乐一起播放了。建议你看看Activity的生命周期。
    与onPause()对应的。
      

  8.   

    使用单例模式,只有一个MediaPlayer对象。
      

  9.   

    这个看看Activity生命周期啊,一个Activity打开,先是onCreate,然后onStart,onResume,按home后是onPause,onStop,在打开时onstart onResume ,实例化mediaplayer时候先判断时候为null
    貌似大家都说过了,唉