调用系统相机使用 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. 《炉石传说》架构设计赏析(1):游戏启动流程
  2. [转] c#中 多线程访问winform控件
  3. 什么比日期和时区更难? SQL / JDBC中的日期和时区!
  4. PRD的编写竟然暗含这个思路
  5. NET平台4.0 发布网站流程及出错总结
  6. 十一. Python基础(11)—补充: 作用域 装饰器
  7. eclipse中简便的aptana安装方法
  8. C++程序代码:利用【函数】——画正三角形、倒三角形
  9. 禁忌搜索算法求解 TSP 问题的代码示例
  10. 高通QCA9531方案定制开发主板300M 2.4G无线模块面板AP wifi路由模块 用的是什么网络变压器
  11. 最近非常火的AI绘图(附操作方法)
  12. java程序定时运行
  13. 第二篇第一章概述及第二章生产和储存物品的火灾危险性分类 重点在于表格...
  14. 可控硅温控器的组成和可控硅的选择
  15. Windows 10 64bit 安装dotnetfx 3.5出错的解决办法(备忘)
  16. Kylin(二) 安装与搭建
  17. 基于javaweb+jsp的个人日记管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Layui Ajax)
  18. 教育部公布研考违规违法行为举报电话
  19. 自绘按钮实现颜色选择器
  20. 距离元旦还有多少天-----电子时钟

热门文章

  1. 串口 单片机 文件_DIY迷你单片机学习板
  2. 工业以太网与现场总线技术各自优缺点和应用
  3. 电脑出现您的计算机配置似乎正确的,Win10提示你的计算机配置似乎是正确的怎么解决?...
  4. 怎么设置服务器共享文件夹在哪里设置密码,共享文件夹怎么设置密码
  5. 移动Web开发字体格式选择(附.woff\.woff2 兼容性)
  6. java实现office转pdf文件
  7. 由pushViewController说起可能出线的各种死法
  8. 唯冠也很苦!赢了苹果也付不出律师费
  9. java表格边框问题_Java 设置Word表格边框
  10. 李宏毅2020机器学习笔记2——CXK