iOS 10.2-使用手电筒激活Retina Flash而不是Back LED

杰克·查桑(Jake Chasan)

有没有一种方法可以指定设备,当setTorchModeOnWithLevel它们设置为激活Retina闪光灯(iPhone6s / 7的正面闪光灯)而不是背面的True-Tone LED闪光灯时?

以下标准代码似乎只能激活后部LED:

AVCaptureDevice.defaultDevice(withDeviceType: AVCaptureDeviceType.builtInDualCamera,
     mediaType: AVMediaTypeVideo, position: .front)
try device.lockForConfiguration();
let torchOn = !device.isTorchActive;
try device.setTorchModeOnWithLevel(1.0);
device.unlockForConfiguration();

iOS中是否存在API可供人们访问Retina Flash?

蓝翼

AFAIK iOS没有任何特定于Retina Flash的API。(自iOS 10.2起)

来自Apple开发人员线程

视网膜Flash iPhone 6s和6s Plus包含自定义显示芯片,可使视网膜显示屏短暂闪烁比其通常的最大照度高3倍的亮度。没有添加新的API以支持此功能。从iOS 4开始,AVCaptureDevice支持-hasFlash-isFlashModeSupported:-flashMode属性。iPhone 6s和6s Plus前置摄像头是第一个对-hasFlash酒店回复“是”的前置iOS摄像头通过将前置摄像头的flashMode设置为AVCaptureFlashModeOnAVCaptureFlashModeAuto,当捕获静止图像时,视网膜闪光灯将闪光(请参阅参考资料AVCaptureStillImageOutput’s captureStillImageAsynchronouslyFromConnection:completionHandler:),就像后置摄像头的True Tone闪光灯闪光一样。

因此,请检查您的代码-hasFlash,然后将Flash模式设置为auto或on。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章