AwemeLike
AwemeLike copied to clipboard
作者, 解决Seek 在大文件的问题 , 你可以尝试看看 avplayer 中copyPixelBufferForItemTime 这个方法可以获取相应的pixelBuffer
可以通过 AVPlayer 来加载文件, 滑动的时候用avplayer的seek , 图像来自于通过时间进行获取 CVPixelBufferRef _player = [[AVPlayer alloc]initWithURL:[NSURL fileURLWithPath:videoUrl]]; NSDictionary * pixelBufferDict = @{(__bridge NSString*)kCVPixelBufferPixelFormatTypeKey:@(kCVPixelFormatType_32BGRA)}; _videoOutput = [[AVPlayerItemVideoOutput alloc]initWithPixelBufferAttributes:pixelBufferDict]; [_player.currentItem addOutput:_videoOutput];
CMTime itemTime = _playerItem.currentTime;
if ([_videoOutput hasNewPixelBufferForItemTime:itemTime]) {
CMTime presentationItemTime = kCMTimeZero;
CVPixelBufferRef pixelBuffer = [_videoOutput copyPixelBufferForItemTime:itemTime itemTimeForDisplay:&presentationItemTime];
}