使用 DataScannerViewController 启用/禁用手电筒

问题描述 投票:0回答:1

在 iOS16 上,我尝试使用

DataScannerViewController
(用于条形码读取)用 Vision 替换旧方法,但是当我启用手电筒时,
DataScannerViewController
冻结了...

启用/禁用火炬的代码:

guard let device = AVCaptureDevice.default(for: .video), device.hasTorch else { return }

do {
    try device.lockForConfiguration()
    device.torchMode = device.isTorchActive ? .off : .on
    device.unlockForConfiguration()
} catch {
    print(error)
}

(此代码与 Vision 配合良好)

非常感谢

ios swift vision visionkit datascannerviewcontroller
1个回答
0
投票

我按照此site上的示例配置完整的 AVCaptureDevice.DiscoverySession,然后使用它来激活手电筒。到目前为止,问题似乎已经解决了。

let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInTripleCamera, .builtInDualWideCamera, .builtInUltraWideCamera, .builtInWideAngleCamera, .builtInTrueDepthCamera], mediaType: AVMediaType.video, position: cameraPosition)
© www.soinside.com 2019 - 2024. All rights reserved.