类似微信发送视频的流程
2014-10-23 10:46
169 查看
获取视频的本地url或者path,对视频进行获取第一帧图片,然后初始化消息的Model,设置封面
NSString *mediaType = [editingInfo objectForKey: UIImagePickerControllerMediaType];
NSString *videoPath;
NSURL *videoUrl;
if (CFStringCompare ((__bridge CFStringRef) mediaType, kUTTypeMovie, 0) == kCFCompareEqualTo) {
videoUrl = (NSURL*)[editingInfo objectForKey:UIImagePickerControllerMediaURL];
videoPath = [videoUrl path];
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoUrl options:nil];
NSParameterAssert(asset);
AVAssetImageGenerator *assetImageGenerator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
assetImageGenerator.appliesPreferredTrackTransform = YES;
assetImageGenerator.apertureMode = AVAssetImageGeneratorApertureModeEncodedPixels;
CGImageRef thumbnailImageRef = NULL;
CFTimeInterval thumbnailImageTime = 0;
NSError *thumbnailImageGenerationError = nil;
thumbnailImageRef = [assetImageGenerator copyCGImageAtTime:CMTimeMake(thumbnailImageTime, 60) actualTime:NULL error:&thumbnailImageGenerationError;];
if (!thumbnailImageRef)
NSLog(@"thumbnailImageGenerationError %@", thumbnailImageGenerationError);
UIImage *thumbnailImage = thumbnailImageRef ? [[UIImage alloc] initWithCGImage:thumbnailImageRef] : nil;
XHMessage *videoMessage = [[XHMessage alloc] initWithVideoConverPhoto:thumbnailImage videoPath:videoPath videoUrl:nil sender:@"Jack" timestamp:[NSDate date]];
[weakSelf addMessage:videoMessage];
}
NSString *mediaType = [editingInfo objectForKey: UIImagePickerControllerMediaType];
NSString *videoPath;
NSURL *videoUrl;
if (CFStringCompare ((__bridge CFStringRef) mediaType, kUTTypeMovie, 0) == kCFCompareEqualTo) {
videoUrl = (NSURL*)[editingInfo objectForKey:UIImagePickerControllerMediaURL];
videoPath = [videoUrl path];
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoUrl options:nil];
NSParameterAssert(asset);
AVAssetImageGenerator *assetImageGenerator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
assetImageGenerator.appliesPreferredTrackTransform = YES;
assetImageGenerator.apertureMode = AVAssetImageGeneratorApertureModeEncodedPixels;
CGImageRef thumbnailImageRef = NULL;
CFTimeInterval thumbnailImageTime = 0;
NSError *thumbnailImageGenerationError = nil;
thumbnailImageRef = [assetImageGenerator copyCGImageAtTime:CMTimeMake(thumbnailImageTime, 60) actualTime:NULL error:&thumbnailImageGenerationError;];
if (!thumbnailImageRef)
NSLog(@"thumbnailImageGenerationError %@", thumbnailImageGenerationError);
UIImage *thumbnailImage = thumbnailImageRef ? [[UIImage alloc] initWithCGImage:thumbnailImageRef] : nil;
XHMessage *videoMessage = [[XHMessage alloc] initWithVideoConverPhoto:thumbnailImage videoPath:videoPath videoUrl:nil sender:@"Jack" timestamp:[NSDate date]];
[weakSelf addMessage:videoMessage];
}
相关文章推荐
- MessageDisplayKit 一个类似微信App的IM应用,拥有发送文字、图片、语音、视频、地理位置消息,管理本地通信录、分享朋友圈、漂流交友、摇一摇和更多有趣的功能。
- C#开发微信门户及应用(19)-微信企业号的消息发送(文本、图片、文件、语音、视频、图文消息等)
- WebRTC代码走读(六):视频发送流程
- iKcamp出品|微信小程序|小试牛刀(视频)+发布流程|基于最新版1.0开发者工具初中级教程分享
- 微信公众平台开发[10]-开发模式-高级功能-将图片、视频、音频I内容上传到微信服务器并发送给用户
- 比较好的ffmpeg转换成微信可以发送的视频大小参数
- IOS 微信聊天发送小视频
- CALayer动画---使用CAShapeLayer制作类似微信小视频按钮动画
- Android聊天页面发送图片定制(类似微信)
- 将微信小视频发送给QQ好友
- iKcamp出品|微信小程序|小试牛刀(视频)+发布流程|基于最新版1.0开发者工具初中级教程分享
- iOS - 自主实现类似微信语音视频信息聊天 (idoubs详细使用方法)1.0
- 微信公众平台支持接收和发送微信小视频 微信小店产品展示更全方位
- 在类似qq或者微信聊天中。如何根据不同的手机发送图片
- WebRTC代码走读(六):视频发送流程
- 仿微信录制视频和拍照并发送留言
- 微信的视频如何找到文件并发送到电脑
- 类似微信语音上滑取消,下滑发送的效果实现
- 在类似qq或者微信聊天中。如何根据不同的手机发送图片
- 第五十八篇、iOS 微信聊天发送小视频的秘密