iOS开发中经常视频开发,使用AV Foundation 提供的AVPlayer播放视频是,需要通过进度条进行拖拽快慢进。
[self.player.currentItem seekToTime:changeTime toleranceBefore:CMTimeMake(1, 20)
toleranceAfter:CMTimeMake(1, 20) completionHandler:^(BOOL finished) {
self.player.rate = 1;
}];
当seek时,如果视频太大(如5M 1分30秒视频),在拖拽结束时,调用player播放
不管是使用player.rate = 1.0; 或者使用 [player play];都会导致视频画面卡住,声音播放。
播放器在切换中,需要结束在进行播放,如果直接播放,导致。
解决可以在拖拽完成时,重新取消上次的seek
[self.player.currentItem cancelPendingSeeks];
然后再完成,seek的block中设置播放.
网友评论