调用系统相机使用 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];
}

ios开发调用系统相机(照片/视频)相关推荐

  1. IOS开发调用系统相机和打开闪光灯

    IOS开发调用系统相机和打开闪光灯      今天给大家分享一下如何调用iphone的拍照功能和打开闪光灯,有些代码我也不太理解,很多是在网上借鉴其他人的.IOS有两种的拍照和视频的方式:1.直接使用 ...

  2. Android开发 调用系统相机相册图片功能,解决小米手机拍照或者图片横竖相反问题,及小米手机相册图片路径问题

    Android开发 调用系统相机相册图片功能,解决小米手机拍照或者图片横竖相反问题,及小米手机相册图片路径问题 1.调用相机,兼容7.0 AndroidManifest配置 <providera ...

  3. createbitmap 旋转90度_解决某些机型调用系统相机照片旋转的问题

    如题,相信很多开发者在调用系统照相机接收拍好的照片时,发现照片被无故旋转了90度.这一问题反映在大部分的三星手机上,当然其他的机器还没试完全,总之是有问题. 于是乎想到如下的解决办法: 识别机型,获取 ...

  4. ios开发调用系统自带的分享

    1.一般情况下提到分享,我们会想到去集成某些第三方的框架,例如很多第三方分享的集合例如友盟的,集成效果如下 这里只涉及到了常用的新浪.微信.及qq: 分享功能:三个平台都比较宽松,只有有appid,都 ...

  5. 安卓图片操作(调用系统相机,预览本地照片,调用系统裁剪图片,压缩图片,中心裁剪方形图片,bitmap转byte[])

    先创建照片存储uri public static Uri createImagePathUri(Context context) {Uri imageFilePath = null;String st ...

  6. 解决Android7.0系统 调用系统相机、系统播放器播放视频、切图兼容问题,报异常android.os.FileUriExposedException

    原文地址:https://blog.csdn.net/msn465780/article/details/59058088?locationNum=8&fps=1 Android7.0以前获取 ...

  7. ios 调用系统相机为英文时的更改

    使用UIImagePickerViewController调用系统相机,当系统相机按钮为英文时. 在 info.plist 中添加 Localization native development re ...

  8. Android手机调用系统相机拍照、裁剪以及获取Url上传图片

    前言 最近一个人在公司搞独立开发,遇到问题只能自己解决,虽然过程比较坎坷,但是收获还是颇多的,一个人也是要坚强滴,最近弄用户的头像遇到了一些小问题,虽然上一款应用有头像上传,但是发现了其中的一些小问题 ...

  9. android 实现自动拍照,Android:调用系统相机实现拍照+裁切(兼容7.0以上系统)

    android.jpg 前言 在平时的工作中,我们会经常遇到这样的需求:比如更改用户头像,我们就需要打开相机或相册,选择照片后进行裁剪,最后上传给后台... 相信这样的功能对小伙伴们来说可能早已司空见 ...

  10. android 相机拍照返回,Android6.0机型上调用系统相机拍照返回的resultCode值始终等于0的问题...

    版权声明:本文为博主原创文章,未经博主允许不得转载. 正常情况下调用系统相机拍照: 如果拍照后点击的是"确定"图标,返回的resultCode = -1(Activity.RESU ...

最新文章

  1. PL/SQL学习笔记-常量变量及数据类型初步
  2. 人工智能算法模型必会之——正则化方法综述
  3. Json返回时间中出现乱码问题的两种解决方法
  4. 顺序查找的基本原理及实现
  5. Almost All Divisors
  6. 转:java网络编程-HTTP编程
  7. python是什么?python该怎么学?一招告诉你!!
  8. 计算机网络之数据链路层:9、ALOHA协议-随机访问介质访问控制
  9. java递减_关于Java中递增和递减运算符的有趣事实
  10. 无线视频服务器家里好用吗,短视频APP为什么选择国内大带宽服务器?国内服务器有什么优势...
  11. 获取Android包名和activity名
  12. wincc安装信息服务器,WinCC 7.4软件不会安装?怎么授权?一文教会你
  13. C语言 16进制与字符串互转函数
  14. Win10相机报错解决办法
  15. 2D美术3——PS笔刷延迟、图层卡顿等解决办法(百试百灵)
  16. 如何解决微信与此ipad不兼容
  17. Grub Rescue恢复
  18. 新浪微相册https外链图片无法调用解决方法
  19. Python开发培训哪里好
  20. 顺序表倒置java_数据结构-顺序表 java实现-Go语言中文社区

热门文章

  1. 有生之年转ta系列 美术部分 1.1 美术理论基础
  2. android 视频裁剪
  3. 财会法规与职业道德【19】
  4. 用html、css实现网页聊天页面
  5. 现场总线技术笔记——2、网络结构(7层结构、互联设备)
  6. 【NLP】第13章 用Transformers分析假新闻
  7. 软考中高项学员:2016年4月6日作业
  8. 办公技巧分享:如何把PDF转换成Word的5种方法
  9. Linux-开启Apache的虚拟主机功能(基于IP地址、基于主机域名、基于IP:端口号)
  10. 大数定律和中心极限定理