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];

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

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

  • 相关阅读:
    修改CentOS 6.4 root用户的系统默认语言设置
    Xpages学习
    Mysql 执行sql脚本文件
    Errors occurred during the build. Errors running builder 'JavaScript Validator' on project 'XXX'.
    【鸟哥学习笔记】之一:目录的权限问题
    学习C++的一些问题总结
    C# 一些知识点总结(一)_继承,多态,集合,关键字...
    .NET Framework 框架的一些简单介绍
    Winform窗体关闭时判断是否关闭
    SQL Server 数据库的安全管理(登录、角色、权限)
  • 原文地址:https://www.cnblogs.com/allanliu/p/4195105.html
Copyright © 2011-2022 走看看