zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

android开发教程之卸载sd卡对MediaServer的处理

Android教程开发 处理 卸载 SD
2023-06-13 09:15:17 时间

下面这段代码是android中Music中的处理代码:

复制代码代码如下:


MediaPlayer.OnErrorListenererrorListener=newMediaPlayer.OnErrorListener(){
   publicbooleanonError(MediaPlayermp,intwhat,intextra){
       switch(what){
       caseMediaPlayer.MEDIA_ERROR_SERVER_DIED:
           mIsInitialized=false;
           mCurrentMediaPlayer.release();
           mCurrentMediaPlayer=newCompatMediaPlayer();
           mCurrentMediaPlayer.setWakeMode(MediaPlaybackService.this,PowerManager.PARTIAL_WAKE_LOCK);
                mHandler.sendMessageDelayed(mHandler.obtainMessage(SERVER_DIED),2000);
           returntrue;
       default:
           Log.d("MultiPlayer","Error:"+what+","+extra);
           break;
       }
       returnfalse;
  }
};

简单来看,就是遇到MediaServerdied这种情况,就release掉原来的MediaPlayer,然后重新创建一个MediaPlayer(会在MediaServer重新启动后关联起来)。然后可以根据原来的状态做相应的动作。