条码扫描不适用于完整的 AVCaptureVideoPreviewLayer

Posted

技术标签:

【中文标题】条码扫描不适用于完整的 AVCaptureVideoPreviewLayer【英文标题】:barcode scan is not working for full AVCaptureVideoPreviewLayer 【发布时间】:2015-11-26 07:10:13 【问题描述】:

当我尝试扫描条形码时,我仍然将 AVCaptureVideoPreviewLayer 添加到我的整个视图中,如果我将条形码放在视图中心,它会扫描。请帮我解决一下

【问题讨论】:

【参考方案1】:

当 AVCapture 扫描二维码时,角落里有方块可以帮助定位二维码。因此您可以在 AVCaptureVideoPreviewLayer 的任意位置扫描二维码,一次扫描多个二维码。 但是没有正方形来帮助定位条形码,相反,AVCapture 会扫描跨越 RectOfInterest 中心的多条线。当一条线穿过 Barcode 的所有行时,AVCapture 会识别此 BarCode .所以,如果你的条码在 AVCaptureVideoPreviewLayer 的一角,并且你没有改变 RectOfInterest 的默认设置,那么你就无法扫描这个条码。

解决这个问题:

    您可以在 AVCaptureVideoPreviewLayer 的中心绘制一个 Rect 来提示用户将条形码放在中心。

    在 AVCaptureVideoPreviewLayer 的一角设置 RectOfInterest,这样你就只能扫描条码了。

【讨论】:

哇.. 找到这么多东西之后.. 这解决了我的问题。没错,应该是这样的。如果我们明白了,这两点可以解决很多问题 @wj2061 您能否建议我在代码中针对此问题需要进行哪些更改?这是我的功能 - pastebin.com/embed_js/d2CvB9CU

以上是关于条码扫描不适用于完整的 AVCaptureVideoPreviewLayer的主要内容,如果未能解决你的问题,请参考以下文章

Apple Vision – 条码检测不适用于不同颜色的条码

.contains() 是不是有理由不适用于扫描仪?

Zxing 二维码扫描仪不适用于所有设备

索引扫描不适用于 postgres 中的 json 数据集

ShaderMask 不适用于完整的孩子

php require() 不适用于相对或完整