了解更多IOS底层原理知识,关注腾讯课堂八点钟学院IOS高级开发
IOS学习交流群 431449751;
获取视频缩略图
+(UIImage *)getImage:(NSString *)videoURL
{
NSDictionary *opts = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO] forKey:AVURLAssetPreferPreciseDurationAndTimingKey];
NSURL *url = [[[NSURL alloc] initFileURLWithPath:videoURL] autorelease];
AVURLAsset *urlAsset = [AVURLAsset URLAssetWithURL:url options:opts];
AVAssetImageGenerator *generator = [AVAssetImageGenerator assetImageGeneratorWithAsset:urlAsset];
generator.appliesPreferredTrackTransform = YES;
generator.maximumSize = CGSizeMake(600, 450);
NSError *error = nil;
CGImageRef img = [generator copyCGImageAtTime:CMTimeMake(10, 10) actualTime:NULL error:&error];
UIImage *image = [UIImage imageWithCGImage: img];
return image;
}
注意添加AVFoundation框架
ios4 怎么获取视频的总时长
NSURL *movieURL = [NSURL URLWithString:movieStr];
NSDictionary *opts = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO]
forKey:AVURLAssetPreferPreciseDurationAndTimingKey];
AVURLAsset *urlAsset = [AVURLAsset URLAssetWithURL:movieURL options:opts]; // 初始化视频媒体文件
int minute = 0, second = 0;
second = urlAsset.duration.value / urlAsset.duration.timescale; // 获取视频总时长,单位秒
//NSLog(@"movie duration : %d", second);
if (second >= 60) {
int index = second / 60;
minute = index;
second = second - index*60;
}