如何在 android 中存档视频观看暂停和恢复功能?

how to achive Video View's pause and resume functionality in android?

我想创建具有暂停和恢复功能的视频视图。因此,为了节省当前时间,我在调试时使用共享首选项作为临时 storage.But 它在 onPause()、onStop()、onResume()、onStart() 中完美运行。但是当安装在设备中时视频从每隔 time.How 开始解决这个问题?

@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();
}

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

删除您的 onStop()onRestart()(以及 onDestroy())处理程序。您只需要 onPause()onResume()。有关详细信息,请参阅 the documentation