iOS实现屏幕亮度和闪光灯控制的实例代码
发布时间 - 2026-01-11 01:37:56 点击率:次这两天学习了iOS屏幕亮度和闪光灯控制,所以,今天添加一点小笔记。

所用涉及框架:AVFoundation框架和ImageIO
读取屏幕亮度:[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];
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# ios
# 屏幕亮度
# 闪光灯亮度
# 控制屏幕亮度
# iOS中滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用)
# IOS 仿支付宝支付屏幕亮度变化机制
# iOS中屏幕亮度与闪光灯控制详解
# iOS实现控制屏幕常亮不变暗的方法示例
# 这两天
# 大家多多
# nil
# error
# AVCaptureVideoDataOutput
# init
# output
# AVCaptureDeviceInput
# AVMediaTypeVideo
# input
# initWithDevice
# alloc
# AVCaptureSessionPresetHigh
# setSessionPreset
# canAddInput
# canAddOutput
# addInput
# queue
# setSampleBufferDelegate
# dispatch_get_main_queue
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Python文件流缓冲机制_IO性能解析【教程】
深圳网站制作的公司有哪些,dido官方网站?
5种Android数据存储方式汇总
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
Laravel怎么使用Intervention Image库处理图片上传和缩放
html如何与html链接_实现多个HTML页面互相链接【互相】
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
如何在建站之星网店版论坛获取技术支持?
python中快速进行多个字符替换的方法小结
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
如何快速搭建高效服务器建站系统?
如何在新浪SAE免费搭建个人博客?
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
网站图片在线制作软件,怎么在图片上做链接?
郑州企业网站制作公司,郑州招聘网站有哪些?
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
如何快速搭建安全的FTP站点?
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
如何在阿里云高效完成企业建站全流程?
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
Python面向对象测试方法_mock解析【教程】
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
网站制作企业,网站的banner和导航栏是指什么?
英语简历制作免费网站推荐,如何将简历翻译成英文?
如何快速查询域名建站关键信息?
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
Laravel如何实现多对多模型关联?(Eloquent教程)
使用Dockerfile构建java web环境
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
Python进程池调度策略_任务分发说明【指导】
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
如何在万网主机上快速搭建网站?
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
西安专业网站制作公司有哪些,陕西省建行官方网站?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
,怎么在广州志愿者网站注册?
魔方云NAT建站如何实现端口转发?
如何在Windows 2008云服务器安全搭建网站?
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
上一篇:《小触控连点器》登录方法介绍
上一篇:《小触控连点器》登录方法介绍

