您現在的位置是:電腦技術吧?>? 編程技術 ??>??打開相機閃光燈,相機的閃光燈在哪里打開??>??正文詳情

打開相機閃光燈,相機的閃光燈在哪里打開

占天華2019-12-14 10:02:29 人圍觀
簡介照相機閃光燈怎么打開今天,我想和大家分享一下如何調用iPhone的攝像頭功能并打開閃光燈。我不懂一些代碼,其中許多是從網上的其他代碼借來的。IOS有兩種拍攝照片和視頻的方式:

今天給大家分享一下如何調用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:UIImagePickerControllerSourceTypeCamera]) {  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);  [self dismissModalViewControllerAnimated:YES];  }  //點擊Cancel按鈕后執行方法  -(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker  {  [self dismissModalViewControllerAnimated:YES];  }  調用相機照片和保存到圖片庫已經完成。

  接著介紹打開照片庫:  代碼如下:  -(void)openPicLibrary  {  //相冊是可以用模擬器打開的  if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {  UIImagePickerController * picker = [[UIImagePickerController alloc]init];  picker.delegate = self;  picker.allowsEditing = YES;//是否可以編輯  //打開相冊選擇照片  picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;  [self presentModalViewController:picker animated:YES];  [picker release];  }else{  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@Error message:@你沒有攝像頭 delegate:nil cancelButtonTitle:@Drat! otherButtonTitles:nil];  [alert show];  }  }  //選中圖片進入的代理方法  -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo  {  [self dismissModalViewControllerAnimated:YES];  }  調用閃光燈的代碼,由于我也不是很理解,所以沒法加注釋,但是已經親測可用,但是調閃光燈時有一個算是bug吧,閃光燈會閑一下,然后再一直亮   代碼如下:  -(void)openFlashlight  {  AVCaptureDevice * device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];  if (device.torchMode == AVCaptureTorchModeOff) {  //Create an AV session  AVCaptureSession * session = [[AVCaptureSession alloc]init];  // Create device input and add to current session  AVCaptureDeviceInput * input = [AVCaptureDeviceInput deviceInputWithDevice:device error:nil];  [session addInput:input];  // Create video output and add to current session  AVCaptureVideoDataOutput * output = [[AVCaptureVideoDataOutput alloc]init];  [session addOutput:output];  // Start session configuration  [session beginConfiguration];  [device lockForConfiguration:nil];  // Set torch to on  [device setTorchMode:AVCaptureTorchModeOn];  [device unlockForConfiguration];  [session commitConfiguration];  // Start the session  [session startRunning];  // Keep the session around  [self setAVSession:self.AVSession];  [output release];  }  }  -(void)closeFlashlight  {  [self.AVSession stopRunning];  [self.AVSession release];  }  以上所述就是本文的全部內容了,希望大家能夠喜歡。

版權聲明:本文由 占天華 整理編輯。

原標題:手機相機閃光燈怎么打開,相機閃光燈開不了

轉載注明出處:http://www.dn9ww09s.icu/program/15441.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • jsp標簽庫有哪些,java標簽庫

    jsp標簽庫有哪些,java標簽庫 相關圖片jsp開發網站JSTL標簽是sun率先與Apache社區合作的產品。不幸的是,自從它出現以來,它已經是一種過時的技術。Sun的軟件架構師似乎缺乏從客戶的角度考慮技術方向的能力jsp jstl...

  • 如何判斷數組是否為空,數組為空怎么判斷

    如何判斷數組是否為空,數組為空怎么判斷 相關圖片js怎么判斷一個數組為空一。Isset函數:判斷變量是否初始化注意:不判斷變量是否為空,可用于判斷數組中的元素是否已定義。注:當使用ISSET判斷數組元素是否已初始化時,其效率約...

  • 系統的特性和分析方法,系統的分析方法及各自的優點

    系統的特性和分析方法,系統的分析方法及各自的優點 相關圖片分析系統穩定性的方法Xcode 4.3符號崩潰的位置與舊版本不一致。/應用程序/Xcode.app/Contents/Developer/Platforms/iPhoneOS.pl系統分析的方法有哪些...

  • ios 10,ios12.2

    ios 10,ios12.2 相關圖片ios12.1.3我的一個同事問我如何學習IOS。我不需要編碼就能生產產品。好吧,是的,我不需要有能力,但如果可以,我可以更好地與程序員溝通。至少我們能聽懂同樣的語言。讓我推薦一...

  • 碰撞檢測有啥用,opcode碰撞檢測

    碰撞檢測有啥用,opcode碰撞檢測 相關圖片Qt碰撞檢測我們設置要檢測的碰撞的物理設置(以下我們稱之為物理體x x)XX。Physicsbody=skphysicsbody(矩形大小:cgsize(x:100,y:1cocos碰撞檢測...

  • apk轉換ios,蘋果轉換器

    apk轉換ios,蘋果轉換器 相關圖片安卓數據轉到ios本文主要介紹了IOS開發中時間轉換方法的集合。在開發IOS程序時,有時需要將時間格式調整為所需的格式。此時,我們可以使用nsdateformatter類來處理它ios12.1.4怎么樣...

  • cors實現跨域訪問,cors跨域訪問示例

    cors實現跨域訪問,cors跨域訪問示例 相關圖片cors實現請求跨域本文介紹了利用Ajax實現跨域訪問的三種解決方案,具有很強的實用性。我推薦第三個。你可以集中精力。首先,什么是跨域?讓我們回顧一下域名地址的組成:http://c...

  • ios開發條件,ios開發軟件

    ios開發條件,ios開發軟件 相關圖片手機ios開發目前,大多數企業iOS應用主要基于報表和官方文檔審批,應用程序的發展趨勢將朝著Web的方向發展,但本地應用程序具有無可比擬的靈活性。如何在IOS上本地化網頁?一蘋果...

  • asp運行,asp.net mvc5

    asp運行,asp.net mvc5 相關圖片net和web本文主要介紹了asp.net網站停止運行的原因記錄的具體實現。必須記錄導致網站停止運行的原因。下面是具體的實現方法。代碼如下:protected void apiis支持asp嗎...

  • jsp服務器都有哪些,jsp是在服務器運行

    jsp服務器都有哪些,jsp是在服務器運行 相關圖片web服務器 應用服務器Java只能獲取一次,而且到達頁面的時間是靜態的。然而,通過JS與Java的合作,Java巧妙地實現了這一功能。Java獲取服務器時間,并將其動態顯示到JSP頁jsp上傳文件到...

熱評文章

  • 因為程序錯誤是什么,無法完成請求因為程序錯誤

    因為程序錯誤是什么,無法完成請求因為程序錯誤 相關圖片電腦老是彈出應用程序錯誤我以前沒有使用過XP系統(XP在大學時我就用過,但從那以后我就沒有使用過XP了。那時候我不喜歡它漂亮的界面,呵呵。),我沒有遇到過這樣的問題。今天,...

  • asp是什么,asp和php

    asp是什么,asp和php 相關圖片asp網頁本文主要介紹了asp.net連接mysql數據庫的兩種方法和實例。它使用官方的MySQL組件和odbc.net。您可以參考以下方法給您的朋友:使用MySQL官方net是啥...

  • 關閉iOS更新,ios更新怎么關閉

    關閉iOS更新,ios更新怎么關閉 相關圖片ios關閉自動更新在IOS應用程序開發中,可以打開虛擬鍵盤進行輸入操作的視圖對象有三種,但是如何關閉虛擬鍵盤還沒有提供一種自動的方法。這需要我們自己來實現。首先,按鍵盤上...

  • iOS3D游戲,ios 3dtouch

    iOS3D游戲,ios 3dtouch 相關圖片ios3dtouch在哪開首先需要獲取mono.data.sqlite.dll文件和system.data.dll文件。如果你在MAC上使用unity,那就太悲劇了。我找不到這兩個文件,3dtouch怎么用...

  • emlog友情鏈接插件,Typecho插件

    emlog友情鏈接插件,Typecho插件 相關圖片typecho優酷插件本文主要介紹Typecho插件編寫教程(1):HelloWorld。本文介紹了插件的文件結構、插件信息、插件結構、插件過程等內容。對于你的朋友,你可以參考一下老typecho301插件...

  • aspx的數據傳遞到aspxcs,.cs

    aspx的數據傳遞到aspxcs,.cs 相關圖片js在aspx沒反應本文主要介紹了在后臺刷新ASPX頁面的四種方法。凈現金。對于朋友,請參考以下內容:回復。重定向(請求。網址。Tostring());響應。寫入(腳本語言=Jaspx是什么語言...

  • asp變量查詢代碼,季度查詢asp代碼

    asp變量查詢代碼,季度查詢asp代碼 相關圖片asp網站表格代碼%Response. Write scriptalert ('19981) if request (ID) =;aspajax批量查詢...

  • iOS3D游戲,ios 3dtouch

    iOS3D游戲,ios 3dtouch 相關圖片ios3dtouch在哪開首先需要獲取mono.data.sqlite.dll文件和system.data.dll文件。如果你在MAC上使用unity,那就太悲劇了。我找不到這兩個文件,3dtouch怎么用...

  • %c,8c

    %c,8c 相關圖片7c本文主要介紹C?判斷兩幅圖像是否一致的快速方法。對于需要的朋友,請參考以下代碼:?區域判斷圖片是否一致//summary///判斷圖片是否一致///summarc=...

  • html打開asp頁面,aspnet頁面傳值方式

    html打開asp頁面,aspnet頁面傳值方式 相關圖片asp開發網頁本文主要介紹了asp.net錯誤頁處理的實例。對于朋友,請參考以下1。新golbal.asax的代碼如下:void application[error(obje網頁創建asp...

關注微信

变脸官网查询