我意识到没有任何关于使用isight光线传感器的公开文档,但ShadowBook (shown here)等程序能够访问亮度数据,我只是想知道是否有人能够实现类似的结果,并知道如何访问这个传感器?谢谢!iSight环境传感器
6
A
回答
7
您可以从IOKit库访问IOService的光传感器。光传感器的名称是“AppleLMUController”。这是一个很好的例子:light sensor。 简单地说,得到这样的服务:io_service_t service = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("AppleLMUController"));
然后,使用连接到服务:IOConnectMethodScalarIScalarO(port, 0, 0, 2, &left, &right);
凡left
和right
是,现在抱传感器的光线水平的整数:
io_connect_t port = 0;
IOServiceOpen(service, mach_task_self(), 0, &port);
利用获取的光照水平。 请注意,许多IOService方法返回一个kern_return_t
变量,该变量将保存KERN_SUCCESS
,除非该方法失败。另外请务必使用IOObjectRelease(service);
发布服务对象编辑:第二个想法,IOConnectMethodScalarIScalarO()
似乎已被弃用。 相反,使用:
uint32_t outputs = 2;
uint64_t values[outputs];
IOConnectCallMethod(port, 0, nil, 0, nil, 0, values , &outputs, nil, 0);
左右的值将被分别存储在values[0]
和values[1]
。请注意,并非所有的MacBook都以这种方式工作:在我2010年中期的15英寸专业版中,两个值都相同,因为光线传感器位于iSight相机中。
相关问题
- 1. 阅读iPhone的环境光传感器
- 2. Android Wear:测量传感器并防止环境模式/睡眠
- 3. 传感器标签CC2650 - 读取传感器传感器
- 4. Android传感器
- 5. Android:传感器
- 6. 环境感知的SQL脚本
- 7. 从磁传感器
- 8. Xperia Play传感器
- 9. 传感器抽取
- 10. USB OTG&传感器
- 11. 特殊传感器
- 12. 传感器模拟器2.1
- 13. Android从传感器获取传感器值
- 14. 如何使用pyserial流式传感器传感器?
- 15. Android Wear加速度传感器/陀螺仪传感器
- 16. X轴传感器校正 - 翻转传感器检测 - Froyo
- 17. “自定义”传感器事件发生率似乎不SensorManager.registerListener(SensorEventListener监听器,传感器传感器,诠释率)
- 18. 怎样的环境变量传递给我要管环境varaable传递给apcahe2服务器apche2服务器
- 19. 传递环境变量
- 20. 环境选取器
- 21. 服务器环境
- 22. 我应该如何将敏感环境变量传递给Amazon ECS任务?
- 23. 如何用传入的环境词典定义Ansible playbook环境
- 24. Android Wear Wellness传感器Moto360
- 25. Google Cardboard VR传感器
- 26. Monodroid GC和传感器
- 27. 传感器值解释
- 28. 重置传感器方向
- 29. Android传感器类型3?
- 30. 声音传感器,Android
我将如何返回这些值的日志? NSLog(@“right%f”,values);'?我将如何格式化左/右? – 2012-04-10 04:13:08
还有一个简单的问题,当我的应用程序启动时,它似乎被调用一次,但我怎样才能不断地调用它?试图使用一个计时器来调用该方法,但它不更新值 – 2012-04-10 04:24:21
要记录,NSLog(@“Left:%i,Right:%i”,(int)values [0],(int)values [1] );'就足够了。我认为使用'values'作为数组可以解决您的问题,而数字不会更新。如果没有,我可以给你发一个我做的快速例子。 – wquist 2012-04-10 20:03:56