zoukankan      html  css  js  c++  java
  • 第五十二篇、 OC获取视频的第一帧图片thumbnailImage

    获取视频的第一帧图片 
    有时候我们拍摄完视频后,希望获取一张图片当作这个视频的介绍,这个图片thumbnailImage可以从视频的第一帧获取到。

    我们的思路是先获取视频的URL,然后初始化一个MPMoviePlayerController做工具,利用MPMoviePlayerController来拿图片,看具体代码如下:

    - (void)imagePickerController:(UIImagePickerController *)picker   didFinishPickingMediaWithInfo:(NSDictionary *)info
    {
    
    NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];
    
    if (CFStringCompare ((__bridge CFStringRef) mediaType, kUTTypeMovie, 0) == kCFCompareEqualTo) {
        NSURL *videoUrl=(NSURL*)[info objectForKey:UIImagePickerControllerMediaURL];
        NSString *moviePath = [videoUrl path];
        这里利用MPMoviePlayerController来获取
                MPMoviePlayerController *player = [[MPMoviePlayerController alloc]initWithContentURL:videoUrl] ;
                UIImage  *thumbnail = [player thumbnailImageAtTime:1.0 timeOption:MPMovieTimeOptionNearestKeyFrame];
    
                imageV.image = thumbnail;
                player = nil;//释放player
    
        NSString *videoCacheDir = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches/UploadPhoto/"];
        if (![[NSFileManager defaultManager] fileExistsAtPath:videoCacheDir]) {
            [[NSFileManager defaultManager] createDirectoryAtPath:videoCacheDir withIntermediateDirectories:YES attributes:nil error:nil];
        }
    }
    [self dismissViewControllerAnimated:YES completion:nil];
    
    }
  • 相关阅读:
    Google资深工程师深度讲解Go语言测试与性能调优(八)
    linux命令 对日志文件的IP出现的次数进行统计 并显示次数最多的前六名
    Java之不允许变量重定义
    Java之数组
    ATL之STDTHUNK
    Java之访问控制
    Java之线程初步II
    Android之Activating Components
    ATL之如何聚合一个组件
    WTL中对话框数据交换
  • 原文地址:https://www.cnblogs.com/HJQ2016/p/5962799.html
Copyright © 2011-2022 走看看