使用AVFoundation完成二维码扫描

其中有几点需要注意的

1.应该使用异步线程来配置那几个属性,这样可以防止阻塞主线程加载UI。

2.output的rectOfInterst是感应区域,就是说,在这个区域内才有扫描效果。但是由于摄像头的关系,这个rect的x和y是反着的,width和height也是反着的,就是说,这里的x坐标对应着正常情况下的y坐标,这里的宽度对应着正常情况下的高度。

3.sessionPreset属性是用来设置扫描精度的。

4.metaObjectTypes属性可以设置扫描的类型,有二维码和一维码(条形码)。

总结:通过以上设置,可以完成绝大多数的扫描任务,并且精度和速度都不错。但是,对1cm*1cm大小,清晰度不太高的二维码,扫描速度很慢或根本无法辨认。后来,我又从app store上面下载了很多的二维码扫描的app,微信和支付宝的扫描速度可以保证,我查查也勉强能接受。其中,,微信和支付宝在扫描过程中,需要保持联网状态,我猜测是需要在后台进行图片的解析。因为联系不到微信或支付宝的开发人员,这个问题至今未解决,希望此贴的朋友,可以帮我想想办法,不胜感激。

困难与折磨对于人来说,是一把打向坯料的锤,

使用AVFoundation完成二维码扫描

相关文章:

你感兴趣的文章:

标签云: