#pragma mark - WechatShortVideoDelegate代理方法
-(void)finishWechatShortVideoCapture:(NSURL *)filePath{
//已经取得视频的url路径 然后只需要获取获取它的封面图既可
// 创建视频资源
AVAsset *asset = [AVAsset assetWithURL:filePath];
// 使用视频 资源创建一个图片生成器
AVAssetImageGenerator *imgeGenerator = [AVAssetImageGenerator assetImageGeneratorWithAsset:asset];
// 视频专用的时间
// preferredTimeScale: 每秒多少帧
CMTime time = CMTimeMakeWithSeconds(0.0,asset.duration.timescale);
// 时间
NSValue *timeValue = [NSValue valueWithCMTime:time];
// 生成该时间对应图片
NSTimeInterval statTime = CFAbsoluteTimeGetCurrent();
[imgeGenerator generateCGImagesAsynchronouslyForTimes:@[timeValue] completionHandler:^(CMTime requestedTime, CGImageRef _Nullable image, CMTime actualTime, AVAssetImageGeneratorResult result, NSError * _Nullable error) {
HPLog(@"%@", [NSThread currentThread]);
// 在bock中转换为UIImage,然后异步赋值
UIImage *uiImage = [UIImage imageWithCGImage:image];
dispatch_async(dispatch_get_main_queue(), ^{
NSTimeInterval endTime = CFAbsoluteTimeGetCurrent();
#pragma mark - 一般认为耗时 <2 是连续点击 不上传服务器 点击停止在上传
HPLog(@"耗时:%lf",endTime - statTime);
HPLog(@"封面图%@",uiImage);
HPLog(@"视频路径:%@",filePath.path);
[self addVideoConentWith:uiImage OrPostImageUrlString:nil videoUrlString:filePath];
});
}];
}
生成视频截图 计算时间差
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1、抗拒学英文 在国内几乎所的编程语言都是外国的,所以学技术必定要学会看英文文档,如果不学英文,是绝对无法从菜鸟转...
- 有时我会莫名其妙想着逝去的人如何和她牵挂的人心灵相犀呢?心灵感应、灵魂附体、托梦……。当儿子玩ipad时,我感受到...
- 巴西作家若昂·吉马朗埃斯·罗萨有一篇短篇小说,叫《河的第三条岸》。小说的情节很简单:为人尽职、本分的父亲一天突然决...