zoukankan      html  css  js  c++  java
  • AVCaptureDevice LED闪光灯控制

     

    转载自:http://blog.csdn.net/cloudhsu/article/details/7202368

    1. #import <AVFoundation/AVFoundation.h>  
    2.   
    3. void CBLediOS::turnOnLed()  
    4. {  
    5.     AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];  
    6.     if ([device hasTorch]) {  
    7.         [device lockForConfiguration:nil];  
    8.         [device setTorchMode: AVCaptureTorchModeOn];  
    9.         [device unlockForConfiguration];  
    10.     }  
    11. }  
    12. void CBLediOS::turnOffLed()  
    13. {  
    14.     AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];  
    15.     if ([device hasTorch]) {  
    16.         [device lockForConfiguration:nil];  
    17.         [device setTorchMode: AVCaptureTorchModeOff];  
    18.         [device unlockForConfiguration];  
    19.     }  
    20.       
    21. }  

    这段代码是我昨天刚上传的iphone手电筒中的一部分代码

    代码示范了如何开启iphone上的闪光灯

    AVCaptureDevice必须要引入AVFoundation.framework

    defaultDeviceWithMediaType需传入一个字串,在这个例子传入了AVMediaTypeVideo以取得摄像头

    AVMediaTypeVideo是ios4.0以上提供的一个const NSString,声明在AVMediaFormat.h.

    其他Media Type的声明

    1. NSString *const AVMediaTypeVideo;  
    2. NSString *const AVMediaTypeAudio;  
    3. NSString *const AVMediaTypeText;  
    4. NSString *const AVMediaTypeClosedCaption;  
    5. NSString *const AVMediaTypeSubtitle;  
    6. NSString *const AVMediaTypeTimecode;  
    7. NSString *const AVMediaTypeTimedMetadata;  
    8. NSString *const AVMediaTypeMuxed;  


    若是要检测装置是否提供该功能,可以透过

    - (BOOL)hasMediaType:(NSString *)mediaType

    来取得

    取得摄像头后,我们可以透过

    @property(nonatomic, readonly) BOOL hasTorch

    @property(nonatomic, readonly) BOOL hasFlash

    来判断该摄像头是否有提供闪光灯

    我是要持续开启所以使用Torch Mode

    lockForConfiguration跟unlockForConfiguration是配对的API

    呼叫lockForConfiguration就可以控制硬件了

    控制完毕后要呼叫unlockForConfiguration

    [device setTorchMode: AVCaptureTorchModeOn];

    [device setTorchMode: AVCaptureTorchModeOff];

    这两行代码,就是开关闪光灯的代码

    注意此代码要在真机下作用

  • 相关阅读:
    MySQL的数据库,数据表,数据的操作
    数组函数
    字符串函数,时间函数,数学函数,数组
    PHP函数
    php类型的相关函数,运算符,条件判断,循环
    PHP数据类型
    vector中erase用法注意事项
    C++11 右值引用&&
    vector中find和find_if的用法 以后再遍历剁手!
    在cocos2d中添加自己的shader教程
  • 原文地址:https://www.cnblogs.com/allanliu/p/4195105.html
Copyright © 2011-2022 走看看