我的应用程序中有条形码读取器部分。实现几乎类似于以下示例:
https://www.hackingwithswift.com/example-code/media/how-to-scan-a-barcode
除了该实现之外,我还将rectOfInterest
设置为AVCaptureMetadataOutput
。如下实现:
private func setRectOfInterest(for output: AVCaptureMetadataOutput) {
let centerX = (self.view.frame.width / 2) - 100
let centerY = (self.view.frame.height / 2) - 100
let edge: CGFloat = 200
let scanRect = CGRect(x: centerX, y: centerY, width: edge, height: edge)
let rectView = UIView(frame: scanRect)
rectView.layer.borderWidth = 1.5
rectView.layer.borderColor = UIColor.red.cgColor
self.view.addSubview(rectView)
let rectOfInterest = previewLayer.metadataOutputRectConverted(fromLayerRect: scanRect)
output.rectOfInterest = rectOfInterest
}
条形码阅读器的此实现大大提高了能耗。我如何避免这种能源状况?