ios开发调用系统相机(照片/视频)
来源:互联网 发布:最新数据库编程工具 编辑:程序博客网 时间:2024/06/06 13:38
调用系统相机使用 UIImagePickerController
首先遵理代理:
@interface HomeViewController ()<UIImagePickerControllerDelegate,UINavigationControllerDelegate>
- (IBAction)SystemCamera:(id)sender { UIImagePickerController *pickerCon = [[UIImagePickerController alloc]init]; pickerCon.sourceType = UIImagePickerControllerSourceTypeCamera; pickerCon.allowsEditing = NO;//是否可编辑 pickerCon.delegate = self; [self presentViewController:pickerCon animated:YES completion:nil]; }
若是拍摄视频:
- (IBAction)SystemCamera:(id)sender { UIImagePickerController *pickerCon = [[UIImagePickerController alloc]init]; pickerCon.sourceType = UIImagePickerControllerSourceTypeCamera; pickerCon.mediaTypes = @[(NSString *)kUTTypeMovie];//设定相机为视频 pickerCon.cameraDevice = UIImagePickerControllerCameraDeviceRear;//设置相机后摄像头 pickerCon.videoMaximumDuration = 10;//最长拍摄时间 pickerCon.videoQuality = UIImagePickerControllerQualityTypeHigh;//拍摄质量 pickerCon.allowsEditing = NO;//是否可编辑 pickerCon.delegate = self; [self presentViewController:pickerCon animated:YES completion:nil]; }
也可将二者合一,只需修改pickerCon.mediaTypes属性:
pickerCon.mediaTypes = @[(NSString *)kUTTypeMovie,(NSString *)kUTTypeImage];
关于相机视频的更多设置,可以参考http://blog.csdn.net/lc_1581835288/article/details/50471482
注意:使用kUTTypeMovie时,需添加头文件#import<MobileCoreServices/MobileCoreServices.h>
使用UIImagePickerController拍摄完成回调方法:
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ NSString *mediaType=[info objectForKey:UIImagePickerControllerMediaType]; if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) {//如果是拍照 UIImage *image; //如果允许编辑则获得编辑后的照片,否则获取原始照片 if (picker.allowsEditing) { image=[info objectForKey:UIImagePickerControllerEditedImage];//获取编辑后的照片 }else{ image=[info objectForKey:UIImagePickerControllerOriginalImage];//获取原始照片 } self.resultImgView.image = image; UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);//保存到相簿 }else if([mediaType isEqualToString:(NSString *)kUTTypeMovie]){//如果是录制视频 NSLog(@"video..."); NSURL *url=[info objectForKey:UIImagePickerControllerMediaURL];//视频路径 NSString *urlStr=[url path]; if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(urlStr)) { //保存视频到相簿,注意也可以使用ALAssetsLibrary来保存 UISaveVideoAtPathToSavedPhotosAlbum(urlStr, self, @selector(video:didFinishSavingWithError:contextInfo:), nil);//保存视频到相簿 } } [picker dismissViewControllerAnimated:YES completion:nil];}
阅读全文
0 0
- ios开发调用系统相机(照片/视频)
- iOS开发:调用系统自带相机以及获取相册照片的功能实现
- ios调用相机和照片
- iOS 开发调用相机以及获取相册照片功能
- iOS 开发调用相机以及获取相册照片功能
- ios开发调用系统相机相册
- iOS开发 调用系统相机和相册
- Android Camera解析(上) 调用系统相机拍摄照片
- 关于调用系统相机以及压缩照片
- Android调用系统相机照片和裁剪
- iOS开发-调用相机
- IOS 调用系统相机(备用)
- iOS开发——调用本地相机拍摄图片或视频(1)
- ios 调用系统相机,图库,相册。将照片保存在相册,保存图片在本地,UIImagePickerController
- IOS开发调用系统相机和打开闪光灯
- IOS开发调用系统相机和打开闪光灯
- IOS开发调用系统相机和打开闪光灯
- IOS开发调用系统相机和打开闪光灯
- CentOS6.5 dhcp服务器安装
- Ajax怎么样实现同步和异步?
- 剑指offer面试题之求第n个丑数
- [摄影] 如何拍摄一张幻境般的星轨照片
- python操作mysql的两个方法
- ios开发调用系统相机(照片/视频)
- ASP.NET Web 页面生命历程中的一天
- c#语言基础(持续添加)
- 尚学堂百战程序员1573题 答案 第二章,数据类型与运算符,仅供参考
- selinux在android中用法以及内核中代码实现
- 防止excel单元格有效性验证因被粘贴而失效
- Quartz
- 关于在开发板中实现NFS自动挂载的问题
- Xcode 9的新功能和特点