公司項目里有一個視頻上傳的功能,但是上傳成功后沒有封面,后來百度了一下找到了這個方法截取視頻的某一幀作為封面,可以自己設(shè)置。剩下的就是普通的圖片上傳了,很簡單的,以下就是方法:
-(UIImage *)assetGetThumImage:(CGFloat)second videoUrl:(NSURL *)videoUrl
{
AVURLAsset *urlSet = [AVURLAsset assetWithURL:videoUrl];
AVAssetImageGenerator *imageGenerator = [AVAssetImageGenerator assetImageGeneratorWithAsset:urlSet];
NSError *error = nil;
CMTime time = CMTimeMake(second,1);//縮略圖創(chuàng)建時間 CMTime是表示電影時間信息的結(jié)構(gòu)體,第一個參數(shù)表示是視頻第幾秒,第二個參數(shù)表示每秒幀數(shù).(如果要獲得某一秒的第幾幀可以使用CMTimeMake方法)
CMTime actucalTime; //縮略圖實際生成的時間
CGImageRef cgImage = [imageGenerator copyCGImageAtTime:time actualTime:&actucalTime error:&error];
if (error) {
}
CMTimeShow(actucalTime);
UIImage *image = [UIImage imageWithCGImage:cgImage];
//UIImageWriteToSavedPhotosAlbum(image,nil, nil,nil);//將圖片保存在相冊里,如果需要的話就可以把注釋去掉
CGImageRelease(cgImage);
return image;
}