首页 > 解决方案 > 更改设备方向时手电筒关闭

问题描述

我有一个测试项目,因为我只是想快速学习。所以我想尝试用手电筒做点什么,我只做了一个简单的按钮来打开/关闭手电筒,但我发现当我改变设备方向时它会关闭手电筒。我想知道是否有人遇到同样的问题并找到了解决方案,这样他们就可以在更改屏幕方向的同时保持手电筒开启。

这是我在https://www.hackingwithswift.com/example-code/media/how-to-turn-on-the-camera-flashlight-to-make-a-torch上找到的手电筒代码

   func toggleTorch(on: Bool)
{
    guard let device = AVCaptureDevice.default(for: .video) else {return}
    
    if device.hasTorch
    {
        do
        {
            try device.lockForConfiguration()
            
            if on
            {
                device.torchMode = .on
            } else
            {
                device.torchMode = .off
            }
            
            device.unlockForConfiguration()
        } catch
        {
            print("Torch could not be used")
        }
    } else
    {
        print("Torch is not available")
    }
}

标签: iosswift

解决方案


我找到了一个临时修复。我必须使用 setTorchMode 然后将 level 参数调低,这样它就不会过热和关闭。它仍然关闭,但它的开启时间比以前长一点


推荐阅读