首页 > 网站 > 建站经验 > 正文

IOS打开系统相机的闪光,灯

2019-11-02 14:35:06
字体:
来源:转载
供稿:网友

   今天给大家分享一下如何调用iphone的拍照功能和打开闪光灯,有些代码我也不太理解,很多是在网上借鉴其他人的。

  IOS有两种的拍照和视频的方式:

  1.直接使用UIImagePickerController,这个类提供了一个简单便捷的拍照与选择图片库里图片的功能。

  2.另一种是通过AVFoundation.framework框架完全自定义拍照的界面和选择图片库界面。我只做了第一种,就先给大家介绍第一种做法:

  一、首先调用接口前,我们需要先判断当前设备是否支持UIImagePickerController,用isSourceTypeAvailable:来判断是否可用

  二、查看符合的媒体类型,这个时候我们调用availableMediaTypeForSourceType:判断

  在调用UIImagePickerController时我们需要加入他的两个代理方法:

  UINavigationControllerDelegate和UIImagePickerControllerDelegate,在调用摄像头的时候还可以调闪光灯,一会代码里有。

  要调用闪光灯需要先建一个AVCaptureSession类的实例对象:

   代码如下:

  // Created by 张茫原 on 13-1-23.

  // Copyright (c) 2013年 张茫原. All rights reserved.

  //

  #import

  //调用闪光灯调用框架

  #import

  @interface CameraViewController : UIViewController

  {

  AVCaptureSession * _AVSession;//调用闪光灯的时候创建的类

  }

  @property(nonatomic,retain)AVCaptureSession * AVSession;

  @end

  在.m的- (void)viewDidLoad里建立4Button,Camera调用相机、Library调用图片库、flashlight打开闪光灯、close关闭闪光灯,这里创建Button的代码我就不再写了。

   代码如下:

  //打开相机

  -(void)addCarema

  {

  //判断是否可以打开相机,模拟器此功能无法使用

  if ([UIImagePickerController isSourceTypeAvailable:UIIm

英文网名[www.la240.com/html2017/1/37/]
agePickerControllerSourceTypeCamera]) {

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

  picker.delegate = self;

  picker.allowsEditing = YES; //是否可编辑

  //摄像头

  picker.sourceType = UIImagePickerControllerSourceTypeCamera;

  [self presentModalViewController:picker animated:YES];

  [picker release];

  }else{

  //如果没有提示用户

  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"你没有摄像头" delegate:nil cancelButtonTitle:@"Drat!" otherButtonTitles:nil];

  [alert show];

  }

  }

  打开相机后,然后需要调用UIImagePickerControllerDelegate里的方法,拍摄完成后执行的方法和点击Cancel之后执行的方法:

   代码如下:

  //拍摄完成后要执行的方法

  -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

  {

  //得到图片

  UIImage * image = [info objectForKey:UIImagePickerControllerOriginalImage];

  //图片存入相册

  UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表