拍照/相册/录像/本地视频

1.导入系统库

#import <MobileCoreServices/MobileCoreServices.h>

2.遵守协议

<UIImagePickerControllerDelegate,UINavigationControllerDelegate>

3.创建

#pragma mark 相机--拍照

- (void)openCamera{

UIImagePickerController *ipc = [[UIImagePickerController alloc]init];

ipc.sourceType = UIImagePickerControllerSourceTypeCamera;

ipc.mediaTypes = [NSArray arrayWithObjects:(NSString *)kUTTypeImage, nil];

ipc.allowsEditing = YES;

ipc.delegate = self;

[self presentViewController:ipc animated:YES completion:nil];

}

#pragma mark 录像

- (void)openVideo{

UIImagePickerController *ipc = [[UIImagePickerController alloc]init];

ipc.sourceType = UIImagePickerControllerSourceTypeCamera;

ipc.mediaTypes = [NSArray arrayWithObjects:(NSString *)kUTTypeMovie, nil];

ipc.videoQuality = UIImagePickerControllerQualityTypeHigh;

ipc.allowsEditing = YES ;

ipc.delegate = self;

[self presentViewController:ipc animated:YES completion:nil];

}

#pragma mark  相册

- (void)openPhoto{

UIImagePickerController *ipc = [[UIImagePickerController alloc]init];

ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

ipc.mediaTypes = [NSArray arrayWithObjects:(NSString *)kUTTypeImage, nil];

ipc.allowsEditing = YES;

ipc.delegate = self;

[self presentViewController: ipc animated:YES completion:nil ];

}

#pragma mark  本地视频

- (void)openVideoList{

UIImagePickerController *ipc = [[UIImagePickerController alloc]init];

ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

ipc.mediaTypes = [NSArray arrayWithObjects:(NSString *)kUTTypeMovie, nil];

ipc.allowsEditing = YES;

ipc.delegate = self;

[self presentViewController:ipc animated:YES completion:nil];

}

 4.代理方法

#pragma mark --Delegate 拍完后执行

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{

if ([[info objectForKey:UIImagePickerControllerMediaType] isEqualToString:(NSString *)kUTTypeImage]) {

//拍照与获取本地相册

UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];

self.fileData = UIImageJPEGRepresentation(image, 1.0);

self.imageView.image = image;

}else if ([[info objectForKey: UIImagePickerControllerMediaType] isEqualToString:(NSString *)kUTTypeMovie]){

//录像与获取本地视频

NSString *videoPath = [info objectForKey:UIImagePickerControllerMediaURL];

self.fileData = [NSData dataWithContentsOfFile:videoPath];

NSLog(@"%@",self.fileData);

}

[picker dismissViewControllerAnimated:YES completion:nil];

}

 

#pragma mark --Delegate 功能取消

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{

[picker dismissViewControllerAnimated:YES completion:nil];

}

时间: 2024-11-09 18:16:55

拍照/相册/录像/本地视频的相关文章

swift2.0 UIImagePickerController 拍照 相册 录像

系统 ios9.1 语言swift2.0 在app 里最常用的功能就是多媒体选择,首先我们storyboard 创建一个button 用于触发选择事件 @IBAction func selectImageAction(sender: AnyObject) { } 这时候通常会弹出来一个ActionSheet 上面有拍照 , 相册,录像 和取消 这几项.iOS 8 以后actionsheet 和 alertview 都统一用UIAlertController 方法调用,8.3以前actionshe

照相、从相册上取照片、播放音频、播放本地视频、播放网络视频、MPMoviePlayerController

一.照相.从相册上去照片 1. 先判断是否支持照相功能 *判断当前设备是否支持照相功能,支持返回YES 否则返回NO 注意:模拟器不支持照相功能 把握一个原则只要是物理硬件相关的功能模拟器都不支持 例如: UIImagePickerController 专门处理与照片相关的功能类 是一个控制器 继承于导航视图控制器 if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]

Android设置头像,手机拍照或从本地相册选取图片作为头像

 [Android设置头像,手机拍照或从本地相册选取图片作为头像] 像微信.QQ.微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式: 1,让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像. 2,让用户启动手机的相机拍照,拍完照片后裁剪,然后作为头像. 我现在写一个简单的完整代码例子,说明如何在Android中实现上述两个头像设置功能. MainActivity.java文件: package zhangpgil.photo; import java.io.F

Swift - 从相册中选择视频(过滤掉照片,使用UIImagePickerController)

(本文代码已升级至Swift4) 有时我们需要从系统相册中选择视频录像,来进行编辑或者上传操作,这时使用 UIImagePickerController 就可以实现. 默认情况下,UIImagePickerController 打开系统"照片"后允许用户选择所有的媒体文件(不管是照片还是录像),我们可以通过 mediaTypes 属性设置.让其只显示视频录像. 1,样例说明 (1)下面样例点击"选择视频"按钮后,会自动打开相册选择视频. (2)由于设置了 media

Android 开发 Camera类的拍照与录像

前言 在开发Android应用的时候,如果需要调用摄像头拍照或者录像,除了通过Intent调用系统现有相机应用进行拍照录像之外,还可以通过直接调用Camera硬件去去获取摄像头进行拍照录像的操作.本篇博客将讲解如何在Android应用中通过Camera拍照录像. 参考博客:https://www.cnblogs.com/plokmju/p/android_Camera.html Camera api 说明 Camera是Android摄像头硬件的相机类,位于硬件包"android.hardwar

从相册读取本地保存的二维码并跳转h5链接

因公司业务需求,在扫描二维码基础的前提下,也需要满足用户点击相册按妞,从相册获取本地保存二维码实现签到功能,在网上查阅相关资料后,整理了下,有以下几种方式: ios8.0以后可以通过使用系统原生的框架实现该功能,即CIDetector,直接上代码,但是通过验证发现,大部分二维码都能够识别,但是对于通过拍照保存的二维码,则出现很大概率无法识别,故此方法限制性比较大,不建议推荐使用,如想使用,可以直接照搬网上相关的代码; 使用先阶段比较流行的zxingObjC框架来扫描相册的二维码,但该框架不好用的

Android 跳转系统选择本地视频的功能

今天在项目开发的过程中产品要求添加选择本地视频的功能,于是就翻阅和查找各种资料,进行功能的开发,但是在开发过程中发现,各种不同的品牌的手机跳转至系统选择本地视频的功能结果不太一样,所以我就对一些主流的品牌进行了测试,现做如下总结: 1.选择本地视频的功能 Button click event: Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Video.Media.EXTERNAL_CONTEN

Android实战技巧之三十一:拍照和录像 with Camera

Developer Guides中有一篇是专门讲Camera的,而且讲的特别细.千万别以为有了这么好的文档就可以轻松的使用android.hardware.Camera这个包去拍照和录像了,各种坑在前面等着你呢.好了,下面将要讲述我们如何像辽宁队在常规赛中填坑的经历. 一.借助intent 这就十分easy了,发个intent就有人帮你搞定拍照和录像. 拍照: public void onTakePhoto(View view) { // create Intent to take a pict

android获取拍照图片、本地图片简单实现!

在安卓应用开发中经常会用到调用系统相机拍照跟获取本地图片功能,下面就是对这一常用功能的简单实现Demo! 在获取拍照图片功能中要加上这两权限. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.CAMERA" /> 布局文件 1 <Re