本人刚接触android,在这方面是个小白,希望大家多帮帮忙!
我在onPause()中用方法getCurrentPosition()获取了视频的播放的进度位置,在onResume()中用seekTo()设置播放的进度位置。但是这里出现了一个问题,就是每次视频恢复的时候时间总有误差(视频被来电或HOME按键打断后恢复),大概相差个几秒钟,难道是seekTo()方法不能精确设置时间点?不应该啊,从资料上说seekTo()可以定位到ms级别,但是现在误差也太大了一点。
@Override
protected void onPause(){
super.onPause();
mVideoView.pause();
curPosition = mVideoView.getCurrentPosition();
}
@Override
protected void onResume(){
super.onResume();
mVideoView.resume();
mVideoView.seekTo(curPosition);
}
------解决方案--------------------
1 . seekTo 是 seek 到你指定的时间点往后的最近的一个关键帧的位置。
2 . 网络流的话,可能有buffer的问题,你可以试一下本地视频播放,误差应该没有那么大。