原因是在视频准备完毕的回调方法里边,对视频进行了seek跳转,每次都会跳转到0。这就会引起m3u8格式视频播放出现问题。
修改内容:
class NiceVideoPlayer{
private IMediaPlayer.OnPreparedListener mOnPreparedListener
= new IMediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(IMediaPlayer mp) {
mCurrentState = STATE_PREPARED;
mController.onPlayStateChanged(mCurrentState);
LogUtil.d("onPrepared ——> STATE_PREPARED");
mp.start();
// 从上次的保存位置播放
if (continueFromLastPosition) {
long savedPlayPosition = NiceUtil.getSavedPlayPosition(mContext, mUrl);
//,添加这一句
if (savedPlayPosition!=0) {
mp.seekTo(savedPlayPosition);
}
}
// 跳到指定位置播放
if (skipToPosition != 0) {
mp.seekTo(skipToPosition);
}
}
};
}