iOS 成长之路

iOS 获取视频缩略图

2018-06-02  本文已影响5人  奋拓达

iOS 获取视频缩略图

首先导入AVFoundation库

UIImagePickerController
// 实例化一个对象
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
// 设置图片的类型
imagePicker.sourceType = [UIImagePickerControllerSourceTypeCamera];
// 设置媒体的种类
imagePicker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
// 允许编辑
imagePicker.allowsEditing = NO;
// 闪灯光模式
imagePicker.cameraFlashMode = UIImagePickerControllerCameraFlashModeAuto;
// 摄像的前置或者后置
imagePicker.cameraDevice = UIImagePickerControllerCameraRear;
imagePicker.delegate = self;
// 通过模态视图推出视图页面
[self presentViewController:imagePicker animated:YES completion:nil];

注释:参数说明

sourceType 的三种类型分别是

实现PickerController的代理属性
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info;

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker;

获取视频缩略图

- (UIImage *)getScreenShotImageFromVideoPath:(NSString *)filePath{

    UIImage *shotImage;
    //视频路径URL
    NSURL *fileURL = [NSURL fileURLWithPath:filePath];

    AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:fileURL options:nil];

    AVAssetImageGenerator *gen = [[AVAssetImageGenerator alloc] initWithAsset:asset];

    gen.appliesPreferredTrackTransform = YES;

    CMTime time = CMTimeMakeWithSeconds(0.0, 600);

    NSError *error = nil;

    CMTime actualTime;

    CGImageRef image = [gen copyCGImageAtTime:time actualTime:&actualTime error:&error];

    shotImage = [[UIImage alloc] initWithCGImage:image];

    CGImageRelease(image);

    return shotImage;

}

结语:这是一个简单实现获取视频缩略图的小案例。本文并没有涉及很深度的解读视频内容。本人在AVFoundation框架没有过多的研究。望原谅~

上一篇下一篇

猜你喜欢

热点阅读