如何在Android中获得Video View的暂停和恢复功能?

时间:2018-09-10 08:22:50

标签: android android-debug

我想创建一个具有暂停和恢复功能的视频视图。因此为了节省当前时间,我将共享首选项用作临时存储。但是在调试时,它可以在onPause(),onStop(),onResume(),onStart()中完美地工作。每次都从头开始。如何解决这个问题?

@Override
protected void onResume() {
    super.onResume();
    resumeVideo();
}
@Override
protected void onPause() {
    super.onPause();
    saveCurrentTime();
}
@Override
protected void onStop() {
    super.onStop();
    saveCurrentTime();
}
@Override
protected void onRestart() {
    super.onRestart();
    resumeVideo();
}


//......to save current duration in shared preference
public void saveCurrentTime(){
    String current_time = String.valueOf(vdoView.getCurrentPosition());
    sharedPreference.putValue(this,Constants.SP_NAME,Constants.CURRENT_TIME,current_time);
}

//to resume video from given time
public void resumeVideo(){
    String time = sharedPreference.getValue(this, Constants.SP_NAME, Constants.CURRENT_TIME);
   if(!sharedPreference.getValue(this,Constants.SP_NAME,Constants.CURRENT_TIME).equals("")) {
        int t = Integer.parseInt(time);
        vdoView.seekTo(t);
    }

    vdoView.start();
}

1 个答案:

答案 0 :(得分:1)

很明显,由于vdoView的状态已更改,您的额外处理程序会在意外的时间用0覆盖首选项。

删除您的onStop()onRestart()(和onDestroy())处理程序。您只需要onPause()onResume()。有关详情,请参见the documentation