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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容