//1. URL
NSURL *url = [[NSBundle mainBundle] URLForResource:@"Cupid_高清.mp4" withExtension:nil];
//2. 获取资源
AVAsset *asset = [AVAsset assetWithURL:url];
//3. 创建 资源图像生成器
AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
//4. 开始生成图像
//Times : 用来表示影片的时间的值
//value: 帧数
//timescale: 当前视频的每秒的帧数
CMTime time = CMTimeMake(60, 1);
NSValue *value = [NSValue valueWithCMTime:time];
[imageGenerator generateCGImagesAsynchronouslyForTimes:@[value] completionHandler:^(CMTime requestedTime, CGImageRef _Nullable image, CMTime actualTime, AVAssetImageGeneratorResult result, NSError * _Nullable error) {
//5. 主线程中更新UI
dispatch_sync(dispatch_get_main_queue(), ^{
self.imageView.image = [UIImage imageWithCGImage:image];
});
}];
```
AVFoundation视频截图
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- pragma mark -- 将类方法写入方法中, 由于类方法中不能有实例变量, 所以将类方法直接放入方法中 pr...