AVCaptureDevice.setTorchModeOn(level:) 不如设备的手电筒应用本身那么亮iOS Swift

问题描述

为了给您提供一些背景信息,我有一个非常简单的应用程序,可以向用户显示视图中的摄像头馈送。通过 UIButton,用户可以决定打开手电筒,让出现在视图中的提要更亮一些。

我正在使用 UiSlider 来控制手电筒的亮度,滑块的最小值为 0.1,最大值为 1.0。

现在虽然一切正常,但我正在比较 iPhone 手电筒应用程序本身的最大亮度(这就是我的意思:http://prntscr.com/yph388)与我的应用程序设置的最大亮度,iPhone 手电筒应用程序似乎更亮.

guard let device = AVCaptureDevice.default(for: AVMediaType.video) else { print("捕获设备不可用");返回 } 保护设备.hasTorch else { print("Torch 不可用");返回}

    do {
        try device.lockForConfiguration()
        
        if on {
            do {
                
                if device.torchMode == .off {
                    device.torchMode = .on
                }
                
               try device.setTorchModeOn(level: slider.value)
                    
                }
            } catch {
                print("Torch level error: \(error.localizedDescription)")
            }
        }
        else {
            device.torchMode = .off
        }
        device.unlockForConfiguration()
    } catch {
        print("Torch can't be used: \(error.localizedDescription)")
    }

除上述之外,我还尝试检查滑块是否接近末尾约 0.97,然后尝试更改

device.setTorchModeOn(level: slider.value) 

device.setTorchModeOn(level: AVCaptureDevice.maxAvailabletorchLevel)

与设备自带的手电筒应用程序实现的亮度相比,我仍然没有看到亮度有任何改善。

我上面的配置中是否缺少某些东西?

感谢您的指导。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)