iOS开发 | 获取视频第一帧图片

在视频播放中经常会用到截取第一帧图片来当做默认背景图的功能, 下面是代码

#pragma mark ---- 获取图片第一帧 
- (UIImage *)firstFrameWithVideoURL:(NSURL *)url size:(CGSize)size  
{  
    // 获取视频第一帧  
    NSDictionary *opts = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO] forKey:AVURLAssetPreferPreciseDurationAndTimingKey];  
    AVURLAsset *urlAsset = [AVURLAsset URLAssetWithURL:url options:opts];  
    AVAssetImageGenerator *generator = [AVAssetImageGenerator assetImageGeneratorWithAsset:urlAsset];  
    generator.appliesPreferredTrackTransform = YES;  
    generator.maximumSize = CGSizeMake(size.width, size.height);  
    NSError *error = nil;  
    CGImageRef img = [generator copyCGImageAtTime:CMTimeMake(0, 10) actualTime:NULL error:&error];  
    {  
        return [UIImage imageWithCGImage:img];  
    }  
    return nil;  
}  

注: CGImageRef 创建的对象需release

你可能感兴趣的:(iOS开发 | 获取视频第一帧图片)