A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© iOS小学生 初级黑马   /  2018-6-27 13:36  /  2230 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/**
根据视频的URL来获取视频封面截图
@param videoURL 视频URL
@param enableSave 是否将封面截图保存到本地
@return 返回封面截图
*/
- (UIImage *)imageWithVideoURL: (NSURL *)videoURL enableSave: (BOOL)enableSave {
   
    //1、根据视频URL创建 AVURLAsset
    AVURLAsset *urlAsset = [AVURLAsset assetWithURL:videoURL];
   
    //2、根据 AVURLAsset 创建 AVAssetImageGenerator对象
    AVAssetImageGenerator *imageGenerator = [AVAssetImageGenerator assetImageGeneratorWithAsset:urlAsset];
   
    //3、定义获取0帧处的视频截图
    CMTime time = CMTimeMake(1,10);//缩略图创建时间 CMTime是表示电影时间信息的结构体,第一个参数表示是视频第几秒,第二个参数表示每秒帧数.(如果要活的某一秒的第几帧可以使用CMTimeMake方法)
    NSError *error = nil;
    CMTime actucalTime; //缩略图实际生成的时间
   
    //4、获取time处的视频截图
    CGImageRef cgImage = [imageGenerator copyCGImageAtTime:time actualTime:&actucalTime error:&error];
    if (error) {
//        NSLog(@"截取视频图片失败:%@",error.localizedDescription);
    }
   
    //5、将 CGImageRef 转化为 UIImage
    UIImage *image = [UIImage imageWithCGImage:cgImage];
    //6、将其存储到本地相册
    if (enableSave) {
        UIImageWriteToSavedPhotosAlbum(image,nil, nil,nil);
    }
    CGImageRelease(cgImage);
    return image;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马