iOS如何實現(xiàn)掃描二維碼條形碼等功能?

關(guān)于iOS掃描二維碼的功能實現(xiàn)有兩個常用的第三方庫:ZBar/ZXing,iOS7以后有一個AVFoundation框架,這個框架也可以實現(xiàn)二維碼的掃描。下面簡單介紹一下這三種方法是如何實現(xiàn)二維碼掃描的:

1. 先來介紹一下iOS7以后的用AVFoundation框架是如何此功能的:

AVFoundation是一個很大的基礎庫,用來創(chuàng)建基于時間的視聽媒體,可以用它來創(chuàng)建,檢查,編輯媒體文件也可以輸入流從設備和操作視頻實時捕捉和回放,詳細框架可以到官網(wǎng)去查看About AVFoundation。下面主要介紹如何運用AVFoundation來掃描二維碼;

首先獲取流媒體信息我們需要用AVCaptureSession這樣的一個對象來管理輸入流和輸出流,AVCaptureVideoPreviewsLayer對象來顯示信息?;玖鞒蹋?/p>

AVCaptureSession 管理輸入(AVCaptureInput)和輸出(AVCaptureOutput)流,包含開啟和停止會話方法。

AVCaptureDeviceInput 是AVCaptureInput的子類,可以作為輸入捕獲會話,用AVCaptureDevice實例初始化。

AVCaptureDevice 代表了物理捕獲設備如:攝像機。用于配置等底層硬件設置相機的自動對焦模式。

AVCaptureMetadataOutput 是AVCaptureOutput的子類,處理輸出捕獲會話。捕獲的對象傳遞給一個委托實現(xiàn)AVCaptureMetadataOutputObjectsDelegate協(xié)議。協(xié)議方法在指定的派發(fā)隊列(dispatch queue)上執(zhí)行。

AVCaptureVideoPreviewLayer CALayer的一個子類,顯示捕獲到的相機輸出流

[{具體代碼后期添加}]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容