我正在使用此代码从视频网址生成缩略图
AVURLAsset *asset=[[AVURLAsset alloc] initWithURL:videoUrl options:nil];
AVAssetImageGenerator *generator =
[[AVAssetImageGenerator alloc] initWithAsset:asset];
generator.appliesPreferredTrackTransform=TRUE;
CMTime thumbTime = CMTimeMakeWithSeconds(0,30);
AVAssetImageGeneratorCompletionHandler handler = ^(CMTime requestedTime, CGImageRef imgRef, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error){
if (result != AVAssetImageGeneratorSucceeded) {
NSLog(@"Couldn't generate Thumbnail, error:%@", error);
}
UIImage *thumbnailImage = [UIImage imageWithCGImage:imgRef];
};
[generator generateCGImagesAsynchronouslyForTimes:[NSArray arrayWithObject:[NSValue valueWithCMTime:thumbTime]] completionHandler:handler];
但我收到此错误。
Couldn't generate Thumbnail, error:Error Domain=AVFoundationErrorDomain
Code=-11800 "The operation could not be completed" UserInfo=
{NSUnderlyingError=0x174251c40 {Error Domain=NSOSStatusErrorDomain Code=-308
"(null)"}, NSLocalizedFailureReason=An unknown error occurred (-308),
NSLocalizedDescription=The operation could not be completed}
我说的对吗?有人可以帮我吗?谢谢
最佳答案
import AVFoundation framework
然后,如下所示导入.h
#import <AVFoundation/AVFoundation.h>
当您想从视频生成缩略图时,最后写下面的代码
AVURLAsset *assetObj = [[AVURLAsset alloc] initWithURL:self.urlForConevW options:nil];
AVAssetImageGenerator *ImgObj = [[AVAssetImageGenerator alloc] initWithAsset:assetObj];
NSError *error = NULL;
CMTime time = CMTimeMake(1, 65);
CGImageRef refImg = [ImgObj copyCGImageAtTime:time actualTime:NULL error:&error];
NSLog(@"error==%@, Refimage==%@", error, refImg);
UIImage *finalImage= [[UIImage alloc] initWithCGImage:refImg];
关于ios - 无法从视频网址生成缩略图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39911122/