赞
踩
- 读取屏幕亮度:[UIScreen mainScreen].brightness;
- 设置屏幕亮度:[[UIScreen mainScreen] setBrightness:0.5];
获取环境亮度主要代码:
- - (void)getTorch {
- AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
- AVCaptureDeviceInput *input = [[AVCaptureDeviceInput alloc]initWithDevice:device error:nil];
- AVCaptureVideoDataOutput *output = [[AVCaptureVideoDataOutput alloc] init];
- [output setSampleBufferDelegate:self queue:dispatch_get_main_queue()];
- self.session = [[AVCaptureSession alloc]init];
- [self.session setSessionPreset:AVCaptureSessionPresetHigh];
- if ([self.session canAddInput:input]) {
- [self.session addInput:input];
- }
- if ([self.session canAddOutput:output]) {
- [self.session addOutput:output];
- }
- [self.session startRunning];
-
- }
-
- - (void)captureOutput:(AVCaptureOutput*)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection*)connection {
- CFDictionaryRef metadataDict =CMCopyDictionaryOfAttachments(NULL,sampleBuffer,
- kCMAttachmentMode_ShouldPropagate);
- NSDictionary *metadata = [[NSMutableDictionary alloc] initWithDictionary:
- (__bridgeNSDictionary*)metadataDict];
-
- CFRelease(metadataDict);
- NSDictionary *exifMetadata = [[metadata objectForKey:(NSString*)kCGImagePropertyExifDictionary] mutableCopy];
- float brightnessValue = [[exifMetadata objectForKey:(NSString*)kCGImagePropertyExifBrightnessValue] floatValue];
- NSLog(@"%f",brightnessValue);
- // 根据brightnessValue的值来打开和关闭闪光灯
- AVCaptureDevice*device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
- BOOL result = [device hasTorch];// 判断设备是否有闪光灯
- if((brightnessValue <0) && result) {
- // 打开闪光灯
- [device lockForConfiguration:nil];
- [device setTorchMode:AVCaptureTorchModeOn];//开
- [device unlockForConfiguration];
- }else if((brightnessValue >0) && result) {
- // 关闭闪光灯
- [device lockForConfiguration:nil];
- [device setTorchMode:AVCaptureTorchModeOff];//关
- [device unlockForConfiguration];
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。