zoukankan      html  css  js  c++  java
  • iOS开发——闪光灯

      还是那句很欠揍的话,没啥难度,直接上代码。

    //

    //  ViewController.m

    //  Demo—闪光灯

    //

    //  Created by yyt on 16/4/21.

    //  Copyright © 2016年 yyt. All rights reserved.

    //

    #import "ViewController.h"

    #import <AVFoundation/AVFoundation.h>

    @interface ViewController ()

    @end

    @implementation ViewController

    - (void)viewDidLoad {

        [super viewDidLoad];

        UIButton *lightButton = [UIButton buttonWithType:UIButtonTypeCustom];

        lightButton.frame = CGRectMake(20, 160, self.view.bounds.size.width-40, 40);

        lightButton.backgroundColor = [UIColor orangeColor];

        [lightButton setTitle:@"open" forState:UIControlStateNormal];

        [lightButton setTitle:@"close" forState:UIControlStateSelected];

        [lightButton addTarget:self action:@selector(clickLightButton:) forControlEvents:UIControlEventTouchUpInside];

        [self.view addSubview:lightButton];

    }

    - (void)clickLightButton:(UIButton *)sender {

        NSLog(@"闪光灯");

        sender.selected = !sender.selected;

        if (sender.selected) {

            [self turnTorchOn:YES];

        }

        else{

            [self turnTorchOn:NO];

        }

    }

    - (void)turnTorchOn:(BOOL)on

    {

        Class captureDeviceClass = NSClassFromString(@"AVCaptureDevice");

        if (captureDeviceClass != nil) {

            AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

            

            if ([device hasTorch] && [device hasFlash]){

                

                [device lockForConfiguration:nil];

                if (on) {

                    [device setTorchMode:AVCaptureTorchModeOn];

                    [device setFlashMode:AVCaptureFlashModeOn];

                    

                } else {

                    [device setTorchMode:AVCaptureTorchModeOff];

                    [device setFlashMode:AVCaptureFlashModeOff];

                }

                [device unlockForConfiguration];

            }

        }

    }

    @end

  • 相关阅读:
    IDEA入门学习笔记1:资料收集
    嵌入式入门学习笔记3:[转]编译linux
    nrf51822微信开发2:[转]airkiss/airsync介绍
    nrf51822微信开发入门学习笔记1:开始前的准备
    Altium Designer入门学习笔记4:PCB设计中各层的含义
    简历包装1:[转]资料收集
    江苏省高等数学竞赛经验分享
    2017年高职高专技能比赛电子产品设计与制作赛项比赛经验分享
    2017年蓝桥杯单片机比赛经验分享
    蓝桥杯嵌入式比赛经验分享
  • 原文地址:https://www.cnblogs.com/yyt-hehe-yyt/p/5415900.html
Copyright © 2011-2022 走看看