2012年8月2日 星期四

Filter4Cam 實作: 25. 開啟/關閉 閃光燈

since: 2012/08/02
update: 2012/08/02

reference:
1. The iOS 5 Developer's Cookbook, 3/e

A. 說明:
     1.iPhone 4 之後的相機才有內建閃光燈, 在此先將 "開啟/關閉閃光燈" 功能
         寫上, 等之後有機會再來測試.

     2. 相機內建的閃光燈, 一般都是位在後置鏡頭附近, 因此當要使用閃光燈時,
         要先將相機鏡頭切換到後置.

     3.  當啟用閃光燈時, 閃光燈的按鈕要維持在選取的狀態, 這需要對按鈕作客製化
          處理, 留待製作按鈕圖案時, 再一併處理.       

---------------------------------------------------------------------------

B. 開啟 ViewController.m 檔案, 修改如下:

....
//@add: "閃光燈切換"
- (void)switchLight
{
    // step 1: Check the Cameras
    if (![Filter4CamHelper numberOfCameras] > 1) return;
   
    AVCaptureDevice *device = [Filter4CamHelper backCamera];
   
    // step 2: Check the Flash
    if (!device.hasFlash)
    {
        NSLog(@"switchLight: The capture device does not has a flash");
       
        return;
    }
   
    // step 3: Recover the default back camera
    if (self.isUsingFrontCamera)
    {
        [self switchCameras];
    }
   
    // step 4: Lock the device
    if ([device lockForConfiguration:nil])
    {
        // step 5: Toggle the button from on to off or vice versa(反之亦然)
        //@TODO ##########################################
        NSLog(@"switchLight TODO: Toggle the button from on to off or vice versa");
       
        // step 6: Toggle the light on or off
        device.torchMode = (self.torchButton.selected) ? AVCaptureTorchModeOn : AVCaptureTorchModeOff;
       
        // step 7: Unlock and proceed
        [device unlockForConfiguration];
    }
}
....

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。