方法:
1.在关闭视频的时候,使用getCurrentPosition()获取当前的时间点。
2.使用SharedPreferences记录当前的时间点。
3.重新播放时,获取该时间点,使用seekto进行播放,相对来说还是比较简单的。
附代码,有需要的可以参考。
public void MediaSavePostion(String inputUrl) { if ((sp != null) && (inputUrl != null)) { int position = videoView.getCurrentPosition(); int duration = videoView.getDuration(); Log.e(TAG,"position="+position+"duration="+duration); //2S以内的误差认为已经播放完城 if ((duration>0) && (duration-position<2000)) { position=0; } String value = String.valueOf(position); editor.putString(inputUrl, value); editor.commit(); Log.e(TAG, "save url=" + inputUrl + "position=" + value); } } public void SetVideoPlay(String inputUrl) { if (inputUrl != null) { String pos = null; int position = 0; if (sp != null) { pos = sp.getString(inputUrl, ""); Log.e(TAG, "postion=" + pos); } if ((pos != null) && (pos.length() > 0)) { try { position = Integer.valueOf(pos); } catch (Exception e) { position = 0; } } Log.e(TAG, "play url=" + inputUrl + "position=" + position); videoView.setVideoURI(Uri.parse(inputUrl)); if (position != 0) { videoView.seekTo(position); } videoView.start(); } }