美文网首页视频开发项目开发技巧你可不能输!
iOS获取本地视频和网络URL视频的缩略图方法

iOS获取本地视频和网络URL视频的缩略图方法

作者: Lonely__M | 来源:发表于2015-06-16 11:24 被阅读3876次

    首先大家先添加AVFoundation和CoreMedia.framework两个框架

    NSString *path = @"www.51ios.net/本地路径"
    MPMoviePlayerController *51iosMPMovie = [[MPMoviePlayerController alloc]
    initWithContentURL:[NSURL fileURLWithPath:path]];
     UIImage *img = [51iosMPMovie thumbnailImageAtTime:0.0
    timeOption:MPMovieTimeOptionNearestKeyFrame];
     
    此处的img就是时间在0.0的缩略图
    
    • 第二种获取网络视频的缩略图
    NSString *videoURL = @"http://www.51ios.net/archives/784"
     
    MPMoviePlayerController *51iosMPMovie = [[MPMoviePlayerController alloc]initWithContentURL:videoURL]; 51iosMPMovie.shouldAutoplay = NO;
    UIImage *thumbnail = [51iosMPMovie thumbnailImageAtTime:time timeOption:MPMovieTimeOptionNearestKeyFrame];
     
    此处的thumbnail就是网络视频的缩略图
    
    • 第三站方法用AVFoundation实现
    +(UIImage *)getThumbnailImage:(NSString *)videoURL
     
    {
     
     AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:[NSURL fileURLWithPath:videoURL] 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];
     
     UIImage *thumb = [[UIImage alloc] initWithCGImage:image];
     
     CGImageRelease(image);
     
     return thumb;
    }
    

    注:文章转载自博客

    相关文章

      网友评论

      • puppySweet:获取网络的缩略图不用播放视频么……请问
      • puppySweet:谁做过视频裁剪。我现在拍的时候分辨率是1280x720,16:9 。然后用边长为屏幕宽的正方形的拍摄画面给用户 ,拍完裁剪才成720x720 。这样裁剪出来的分辨率也是720x720 ,并且裁剪出来的画面和用户拍时候的画面一样是吧。
      • Shelin:正好最近在做视频相关

      本文标题:iOS获取本地视频和网络URL视频的缩略图方法

      本文链接:https://www.haomeiwen.com/subject/ukhsqttx.html