首页 > 获取* .mov视频IOS的缩略图

IMG_0646MOV,获取* .mov视频IOS的缩略图

互联网 2021-02-26 14:34:03

我想获得一张用iPhone / iPAD拍摄的视频缩略图(* .mov)。我正在尝试使用AVFoundation库并收到此错误:

无法生成缩略图,错误:错误Domain = AVFoundationErrorDomain代码= -11822"无法打开"UserInfo = 0x15d90a30 {NSLocalizedDescription =无法打开,NSLocalizedFailureReason =不支持此媒体格式。}

代码:

NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString * documentDir = [paths objectAtIndex:0];NSString * videoPath = [documentDir stringByAppendingPathComponent:[NSString stringWithFormat:@"videos /%@。mov",videoName]];

AVURLAsset * asset = [[AVURLAsset alloc] initWithURL:videoPath options:nil];AVAssetImageGenerator * generator = [[AVAssetImageGenerator alloc] initWithAsset:asset];generator.appliesPreferredTrackTransform = TRUE;

CMTime thumbTime = CMTimeMakeWithSeconds(0,30);

AVAssetImageGeneratorCompletionHandler handler = ^(CMTime requestedTime,CGImageRef im,CMTime actualTime,AVAssetImageGeneratorResult result,NSError * error){ if(result!= AVAssetImageGeneratorSucceeded){ NSLog(@"无法生成缩略图,错误:%@",错误); }self.img.image = [UIImage imageWithCGImage:im]; };

CGSize maxSize = CGSizeMake(320,180);generator.maximumSize = maxSize;[generator generateCGImagesAsynchronouslyForTimes:[NSArray arrayWithObject:[NSValue valueWithCMTime:thumbTime]] completionHandler:handler];

我用我的应用程序录制了视频,并希望显示它们的缩略图。

解决方案

这是......(从这个链接中取出 -获取缩略图的视频快照)

- (UIImage *)thumbnailImageFromURL :(NSURL *)videoURL { AVURLAsset * asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil];AVAssetImageGenerator * generator = [[AVAssetImageGenerator alloc] initWithAsset:asset];NSError * err = NULL;CMTime requestedTime = CMTimeMake(1,60); //创建缩略图 CGImageRef imgRef = [generator copyCGImageAtTime:requestedTime actualTime:NULL error:& err];NSLog(@"err =%@,imageRef =%@",错误,imgRef);

UIImage * thumbnailImage = [[UIImage alloc] initWithCGImage:imgRef];CGImageRelease(imgRef); //必须明确释放以避免内存泄漏

return thumbnailImage; }

本文地址:IT屋 » 获取* .mov视频IOS的缩略图

免责声明:非本网注明原创的信息,皆为程序自动获取自互联网,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如此页面有侵犯到您的权益,请给站长发送邮件,并提供相关证明(版权证明、身份证正反面、侵权链接),站长将在收到邮件24小时内删除。

相关阅读