获取网络视频第一侦作为封面图

998 阅读1分钟

首先添加两个框架

#import <AVFoundation/AVFoundation.h>
#import <CoreMedia/CoreMedia.h>

+ (UIImage *)ym_firstFrameWithVideoURL:(NSURL *)url imageSize:(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;
}