iOS 10.2-使用手电筒激活视网膜闪光灯,而不是背面LED
是否有办法向设备指定,当设置iOS 10.2-使用手电筒激活视网膜闪光灯,而不是背面LED,ios,swift,avfoundation,retina,Ios,Swift,Avfoundation,Retina,是否有办法向设备指定,当设置setorchmodeonwithlevel时,他们将激活视网膜闪光灯(iPhone6s/7的前向闪光灯),而不是后向真色调LED闪光灯 以下标准代码似乎只能激活后部LED: AVCaptureDevice.defaultDevice(withDeviceType: AVCaptureDeviceType.builtInDualCamera, mediaType: AVMediaTypeVideo, position: .front) try device.
setorchmodeonwithlevel
时,他们将激活视网膜闪光灯(iPhone6s/7的前向闪光灯),而不是后向真色调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可以访问视网膜闪光?AFAIK iOS没有任何特定于视网膜闪光的API。(截至日期10.2) 来自苹果开发者 Retina Flash iPhone 6s和6s Plus包含一个定制的显示芯片 允许视网膜显示器短暂闪烁3倍于其亮度 通常的最大照度。没有添加新的API来支持此操作 特色。自iOS 4以来,AVCaptureDevice支持
-hasFlash
,
-isFlashModeSupported:
和-flashMode
属性。iphone6s
6s+前置摄像头是第一款前置iOS
摄像头对-hasFlash
属性的响应为是。通过设置
前置摄像头的闪光灯模式切换至AVCaptureFlashModeOn或
AVCaptureFlashModeAuto
,当静止图像被激活时,视网膜闪烁
已捕获(请参见AVCaptureStillImageOutput的
captureStillImageAsynchronouslyFromConnection:completionHandler:),
正如真实色调闪光灯为后向相机静止而触发一样
因此,要使您的代码正常工作,请检查
-hasplash
,然后将闪光灯模式设置为自动或打开。您的拍摄设备是前摄像头吗?(AVCaptureDevicePosition.front)@Emptyless:是的,我正在使用构造函数,我在其中传递了“position:.front”(与构造函数一起更新的问题)。有没有关于为什么它可能不显示的想法?谢谢。AVCaptureDevice
还为flash
提供了一系列属性(与torch
分开)。你试过那些吗?更多信息:@Davewston flash属性似乎已被弃用,还有其他建议吗?从iOS 10开始,flash设置似乎已移至AVCapturePhotoSettings
。这门课的参考资料是:有没有办法在不拍照的情况下进行视网膜闪光,或者这是必要的?@JakeChasan我们不能在不拍照的情况下触发视网膜闪光。我也一直在努力做到这一点。但从苹果的文档来看,没有其他选择。