获取视频封面,本地视频,网络视频都可以用
2016-04-11 10:04
447 查看
/**
* 获取视频封面,本地视频,网络视频都可以用
*
* @param videoURL video的Url
*/
+ (void)thumbnailImageForVideo:(NSURL *)videoURL completion:(void(^)(UIImage *image))completion{
dispatch_async(dispatch_get_global_queue(0,
0), ^{
AVURLAsset *asset = [[AVURLAsset
alloc] initWithURL:videoURL
options:nil];
AVAssetImageGenerator *gen = [[AVAssetImageGenerator
alloc]
initWithAsset:asset];
gen.appliesPreferredTrackTransform =
YES;
CMTime time =
CMTimeMakeWithSeconds(2.0,
600);
NSError *error =
nil;
CMTime actualTime;
CGImageRef image = [gen
copyCGImageAtTime:time actualTime:&actualTime
error:&error];
UIImage *thumbImg = [[UIImage
alloc] initWithCGImage:image];
dispatch_async(dispatch_get_main_queue(), ^{
if (completion) {
completion(thumbImg);
}
});
});
}
* 获取视频封面,本地视频,网络视频都可以用
*
* @param videoURL video的Url
*/
+ (void)thumbnailImageForVideo:(NSURL *)videoURL completion:(void(^)(UIImage *image))completion{
dispatch_async(dispatch_get_global_queue(0,
0), ^{
AVURLAsset *asset = [[AVURLAsset
alloc] initWithURL:videoURL
options:nil];
AVAssetImageGenerator *gen = [[AVAssetImageGenerator
alloc]
initWithAsset:asset];
gen.appliesPreferredTrackTransform =
YES;
CMTime time =
CMTimeMakeWithSeconds(2.0,
600);
NSError *error =
nil;
CMTime actualTime;
CGImageRef image = [gen
copyCGImageAtTime:time actualTime:&actualTime
error:&error];
UIImage *thumbImg = [[UIImage
alloc] initWithCGImage:image];
dispatch_async(dispatch_get_main_queue(), ^{
if (completion) {
completion(thumbImg);
}
});
});
}
相关文章推荐
- C# TCP实现多个客户端与服务端 数据 传输
- 虚拟机vmware配置
- C# TCP实现多个客户端与服务端 数据 与 文件的传输
- 2.XMLHttpRequest相关的使用
- C# TCP实现多个客户端与服务端 数据 与 文件的传输
- android最流行的网络框架
- 网络地址为172.16.0.0,采用子网掩码255.255.224.0 .以下说法正确的是()
- 《Unix网络编程》(第三版)源码使用方法
- 模糊神经元网络
- 简单的QT5网络Tcp通讯
- 遗传算法优化BP神经网络前(由于遗传算法优化BP神经网络编辑的部分有缺少,故加以补充前)
- “宋仲基”怎么就成了顶级推销员?
- 关于iOS中网络请求汉字转码问题
- 《在实践中深入理解常见网络协议》
- 深度学习卷积神经网络大事件一览
- HTTP基础与Android——HTTP请求头响应头
- 关于AFNetworking的使用
- HTTP状态码及HTTP 1.1与HTTP 1.0的比较
- Java网络编程之socket使用小结
- 简单说说TCP(5) --- RST