MediaPlayer和onBackPressed之前的线程清理
我有一个媒体播放器在我的活动和媒体播放器我有一个seekbar,我通过线程处理程序更新。 我运行线程处理程序的方式如下所示:
Runnable run = new Runnable() {
@Override
public void run() {
seekUpdation();
}
};
public void seekUpdation() {
if(mp.isPlaying()){
this.seekbar.setProgress(mp.getCurrentPosition());
this.seekHandler.postDelayed(run, 2);
}
}
每当用户点击播放按钮,然后当媒体播放器正在播放时,搜索栏不断更新,我就会调用它。 所以这个效果很好,但是当mediaplayer播放时我点击后退按钮,然后得到一个非法的状态,因为我正在做以下操作:@Override public void onBackPressed(){
super.onBackPressed();
if (mr != null)
mr.release();
if (mp != null){
mp.pause();
mp.stop();
mp.release();
}
}
看到我想通过暂停mediaplayer这会触发线程停止,但它没有奏效。 有没有人有任何其他建议?
链接地址: http://www.djcxy.com/p/88597.html