1.1-- 导入需要的文件类库
成都创新互联公司网站建设公司是一家服务多年做网站建设策划设计制作的公司,为广大用户提供了成都网站制作、网站建设、外贸网站建设,成都网站设计,一元广告,成都做网站选成都创新互联公司,贴合企业需求,高性价比,满足客户不同层次的需求一站式服务欢迎致电。
#importAVFoundation/AVFoundation.h
#importMobileCoreServices/MobileCoreServices.h
#importAssetsLibrary/AssetsLibrary.h
1.2--签约代理
UIImagePickerControllerDelegate,UINavigationControllerDelegate
2--检测应用是否开启读取相册的权限
// 申请打开视频库权限
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if (authStatus == AVAuthorizationStatusRestricted
|| authStatus == AVAuthorizationStatusDenied) {
NSLog(@"摄像头已被禁用,您可在设置应用程序中进行开启");
return;
}
3--打开视频库
// 打开视频库
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum]) {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
picker.mediaTypes = @[(NSString *)kUTTypeMovie];
[self presentViewController:picker animated:YES completion:NULL];
} else {
NSLog(@"手机不支持摄像");
}
4--选取视频后
//视频选择完成后调用- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary*)info {
//获取选择的媒体类型
NSString *mediaType=[info objectForKey:UIImagePickerControllerMediaType];
if ([mediaType isEqualToString:(NSString *)kUTTypeMovie]) {
NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
// 获取相册内容
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, true) lastObject] stringByAppendingPathComponent:[NSString stringWithFormat:@"%ld_compressedVideo.mp4",time(NULL)]];
// 保存路径
NSLog(@"compressedVideoSavePath : %@",path);
//压缩
AVURLAsset *avAsset = [[AVURLAsset alloc] initWithURL:videoURL options:nil];
NSArray *compatiblePresets = [AVAssetExportSession exportPresetsCompatibleWithAsset:avAsset];
//导出品质
if ([compatiblePresets containsObject:AVAssetExportPresetMediumQuality]) {
// 压缩分辨率
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:avAsset presetName:AVAssetExportPreset1280x720];
//输出URL
exportSession.outputURL = [NSURL fileURLWithPath:path];
//优化网络
exportSession.shouldOptimizeForNetworkUse = true;
//转换后的格式
exportSession.outputFileType = AVFileTypeMPEG4;
//异步导出
[exportSession exportAsynchronouslyWithCompletionHandler:^{
// 如果导出的状态为完成
if ([exportSession status] == AVAssetExportSessionStatusCompleted) {
// 保存路径
[self saveVideo:[NSURL fileURLWithPath:path]];
NSLog(@"压缩完毕,压缩后大小 %f MB",[self fileSize:[NSURL fileURLWithPath:path]]);
}else{
NSLog(@"当前压缩进度:%f",exportSession.progress);
}
NSLog(@"%@",exportSession.error);
}];
}
}
[self dismissViewControllerAnimated:YES completion:nil];
}
//存入相册
- (void)saveVideo:(NSURL *)outputFileURL
{
//ALAssetsLibrary提供了我们对iOS设备中的相片、视频的访问。
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
//写入相册
[library writeVideoAtPathToSavedPhotosAlbum:outputFileURL completionBlock:^(NSURL *assetURL, NSError *error) {
if (error) {
NSLog(@"保存视频失败:%@",error);
} else {
NSLog(@"保存视频到相册成功");
}
}];
}
//获取压缩后的大小
- (CGFloat)fileSize:(NSURL *)path
{
//将数据大小格式转换为*Mb
return [[NSData dataWithContentsOfURL:path] length]/1024.00 /1024.00;
}
您好,使用iOS 6系统,若需要上传视频到优酷或土豆,您可以点按照片应用程序的视频,点击左下角“转发”图标,选择“优酷”,在弹出的对话框中输入您的优酷用户名和密码,然后在标题与介绍中输入您分享内容的名称,设置视频的清晰程度,设置完毕后,点按右上角的“发布”即可进行视频的上传。(上述内容仅适用于广东联通用户)
ios系统快手APP上传视频的方法:
1、打开快手ios系统app,注册一个账号,登陆进去;
2、登录之后点击右上方的摄像头按钮进行视频录制;
3、进入了视频录制的页面,点击下方红色的圆按钮快手录制视频;
4、录制结束可以对录制的视频进行各种编辑,加上相框、音乐、情景等,也可以进行高级编辑;
5、编辑完之后,点击右上方的制作按钮,动画就开始生成了;
6、点击制作之后视频就生成了,可以分享给好友,还可以想要说的话等,点击分享;
7、进入个人中心就可以看到分享的视频了。