android开发教程之卸载sd卡对MediaServer的处理
更新时间:2014年02月17日 09:55:23 作者:
Android中如果MediaServer访问SD卡上的音频文件,卸载SD卡的时候,就会kill掉MediaServer,卸载SD卡上必要条件就是没有进程访问SD卡上的资源文件。Kill掉MediaServer的进程后,MediaServer会重新启动。
下面这段代码是android中Music中的处理代码:
复制代码 代码如下:
MediaPlayer.OnErrorListener errorListener = new MediaPlayer.OnErrorListener() {
public boolean onError(MediaPlayer mp, int what, int extra) {
switch (what) {
case MediaPlayer.MEDIA_ERROR_SERVER_DIED:
mIsInitialized = false;
mCurrentMediaPlayer.release();
mCurrentMediaPlayer = new CompatMediaPlayer();
mCurrentMediaPlayer.setWakeMode(MediaPlaybackService.this, PowerManager.PARTIAL_WAKE_LOCK);
mHandler.sendMessageDelayed(mHandler.obtainMessage(SERVER_DIED), 2000);
return true;
default:
Log.d("MultiPlayer", "Error: " + what + "," + extra);
break;
}
return false;
}
};
简单来看,就是遇到MediaServer died这种情况,就release掉原来的MediaPlayer,然后重新创建一个MediaPlayer(会在MediaServer重新启动后关联起来)。然后可以根据原来的状态做相应的动作。
相关文章
Android编程使用光线传感器获取光线强弱的方法【LightSensorManager封装类】
这篇文章主要介绍了Android编程使用光线传感器获取光线强弱的方法,结合实例形式分析了Android光线传感器管理封装类LightSensorManager的具体实现技巧,需要的朋友可以参考下2017-11-11
Android底部导航组件BottomNavigationView
这篇文章主要介绍了Android底部导航组件BottomNavigationView,BottomNavigationView是相当于一个导航的标签,但是它的形式就是像QQ微信之类的界面,至于写出后怎样绑定这三个界面,就得用Fragment,写这三个页面的布局2023-03-03


最新评论