Closed KayWong closed 6 years ago
(void)seekToTime:(CMTime)time toleranceBefore:(CMTime)toleranceBefore toleranceAfter:(CMTime)toleranceAfter; toleranceBefore 和 toleranceAfter 是不是kCMTimeZero ?如果是,这个是视频不规范引起的,就是视频通道的开始时间不是从 0 开始,大概就是零点几秒开始的,这个时候可以使用 (void)seekToTime:(CMTime)time toleranceBefore:CMTimeMake(200, 1000) toleranceAfter:CMTimeMake(200, 1000); 即就是将 toleranceBefore 和 toleranceAfter 的值设置为 0.2,兼容一下这种不规范的视频。
判断视频开始时间: AVAssetReader 去读视频的第一帧,然后查看第一帧的时间戳是不是从0开始。
@KayWong 如果你遇到的问题不是我上面说的问题,可以加我 QQ 详细讨论:511913417
demo的视频切割是使用seekToTime方法,这个方法获取的预览图像间隔比较大,时间比较不准确,在demo改用
缓慢的滑动CollectionView的时候,在多段视频的交界处,视频的时间往前进的方向滑动,会出现无法获取预览图像的bug,不知道怎么处理这个问题