#import "ViewController.h"#import@interface ViewController ()@property (weak, nonatomic) IBOutlet UIImageView *imageView;@end@implementation ViewController- (void)viewDidLoad {? ? [super viewDidLoad];? }- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event
{
// 獲取視頻url
NSURL *url = [[NSBundle mainBundle] URLForResource:@"Alizee_La_Isla_Bonita.mp4" withExtension:nil];
// 設(shè)置截圖的資源
AVAsset *asset = [AVAsset assetWithURL:url];
// 創(chuàng)建視頻截圖對象
AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
// 開始截圖
// CMTimeMake 參數(shù)1 / 參數(shù)2 = 時間
CMTime time = CMTimeMake(30, 2);
NSValue *value = [NSValue valueWithCMTime:time];
// 參數(shù)1 :截圖的時間
[generator generateCGImagesAsynchronouslyForTimes:@[value] completionHandler:^(CMTime requestedTime, CGImageRef? _Nullable image, CMTime actualTime, AVAssetImageGeneratorResult result, NSError * _Nullable error) {
if (error) {
NSLog(@"%@",error);
}
UIImage *uiimage = [UIImage imageWithCGImage:image];
[self performSelectorOnMainThread:@selector(updateUI:) withObject:uiimage waitUntilDone:NO];
}];
}
- (void)updateUI:(UIImage *)image
{
self.imageView.image = image;
}
@end