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

作者: _冇毒 | 来源:发表于2017-06-17 14:02 被阅读5347次

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

#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;  
}  

相关文章

网友评论

  • guojingjing8:楼主你这方法比较耗时我放在子线程执行了,但是老是截取失败
  • 大墙66370:CGImageRelease(ima);
    ShawMoolan::+1: 内存一直涨,直到看到你的回复!
  • Jackie_123:可以是可以,可是截取的图片确实太模糊了...
  • lloveyouyou:请问楼主如果视频列表滑动过程中内存飙升怎么破。
    如果在加载数据时预处理太慢了
  • IMKel:可以截取,就是图片特别模糊,请求博主有解决方法吗?
  • 阿唯不知道:晚上回去试试这个第一帧:smile:

本文标题:iOS开发 | 获取视频第一帧图片

本文链接:https://www.haomeiwen.com/subject/puavqxtx.html