iOS将视频录像切成一张张缩略图
本文实例为大家分享了iOS视频录像切成缩略图的具体代码,供大家参考,具体内容如下
记得导入系统库
#import<MediaPlayer/MediaPlayer.h>
代码:
/** *获取网络视频的全部缩略图方法 * *@paramvideoURL视频的链接地址 * *@return视频截图 */ +(UIImage*)ihefe_previewImageWithVideoURL:(NSURL*)videoURL { AVAsset*asset=[AVAssetassetWithURL:videoURL]; AVAssetImageGenerator*generator=[AVAssetImageGeneratorassetImageGeneratorWithAsset:asset]; generator.appliesPreferredTrackTransform=YES; CGImageRefimg=[generatorcopyCGImageAtTime:CMTimeMake(1,asset.duration.timescale)actualTime:NULLerror:nil]; UIImage*image=[UIImageimageWithCGImage:img]; CGImageRelease(img); returnimage; } /** *获取本地视频的全部缩略图方法 * *@paramfileurl视频的链接地址 * *@return视频截图 */ +(UIImage*)ihefe_getScreenShotImageFromVideoURL:(NSString*)fileurl { UIImage*shotImage; //视频路径URL NSURL*fileURL=[NSURLURLWithString:fileurl]; AVURLAsset*asset=[[AVURLAssetalloc]initWithURL:fileURLoptions:nil]; AVAssetImageGenerator*gen=[[AVAssetImageGeneratoralloc]initWithAsset:asset]; gen.appliesPreferredTrackTransform=YES; CMTimetime=CMTimeMakeWithSeconds(0.0,600); NSError*error=nil; CMTimeactualTime; CGImageRefimage=[gencopyCGImageAtTime:timeactualTime:&actualTimeerror:&error]; shotImage=[[UIImagealloc]initWithCGImage:image]; CGImageRelease(image); returnshotImage; } /** *获取视频的某一帧缩略图方法 * *@paramvideoURL视频的链接地址帧时间 *@paramtime帧时间 * *@return视频截图 */ +(UIImage*)ihefe_thumbnailImageForVideo:(NSURL*)videoURLatTime:(NSTimeInterval)time { AVURLAsset*asset=[[AVURLAssetalloc]initWithURL:videoURLoptions:nil]; NSParameterAssert(asset); AVAssetImageGenerator*assetImageGenerator=[[AVAssetImageGeneratoralloc]initWithAsset:asset]; assetImageGenerator.appliesPreferredTrackTransform=YES; assetImageGenerator.apertureMode=AVAssetImageGeneratorApertureModeEncodedPixels; CGImageRefthumbnailImageRef=NULL; CFTimeIntervalthumbnailImageTime=time; NSError*thumbnailImageGenerationError=nil; thumbnailImageRef=[assetImageGeneratorcopyCGImageAtTime:CMTimeMake(thumbnailImageTime,60)actualTime:NULLerror:&thumbnailImageGenerationError]; if(!thumbnailImageRef)NSLog(@"thumbnailImageGenerationError%@",thumbnailImageGenerationError); UIImage*thumbnailImage=thumbnailImageRef?[[UIImagealloc]initWithCGImage:thumbnailImageRef]:nil; returnthumbnailImage; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。