开源视频播放器IjkPlayer使用记录之(三)--播放视频从上次播放的时间点播放。

时间:2021-06-30 09:01:30

方法:

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