Flutter
Single Barcode Scanning
Single barcode scanning allows you to detect and process one barcode at a time within the scanning window. This ensures precise detection by limiting the scan area, improving accuracy and performance.
⚙️ Setting Single Barcode Scanning
To enable single barcode scanning, you need to call the following method from FlutterToPluginCommunicator
:
Select the camera lens you want to use for barcode scanning:
🤖 Auto Mode Barcode Scanning
For automatic barcode capture, call the following method:
✋ Manual Mode Barcode Scanning
For manual barcode capture, call the following method:
Afterwards, when you want to capture, call the following method:
📦 Callback Method for Barcode Values
When a barcode is successfully scanned, the following callback method is called:
Note that, once onCodesReceived
or onImageCaptured
callbacks are called, VisionSDK will stop analyzing camera feed for text or barcodes/QR codes.
This is to prevent extra processing and battery consumption. When client wants to start analyzing camera feed again, after consuming the results of previous scan, client needs to call the following function:
❗️Error Handling Callback
If an error occurs during the barcode scanning process, the following callback method will be triggered. You can implement this to handle any failures during scanning, gracefully.
Use this method to log errors, display messages to the user, or perform recovery actions when scanning fails.
🧾 Barcode Object Structure
The ScannedCodeResult
object returned in the callback contains the following properties:
🧭 Detection Indicators
To receive detection indicators (without actual values), implement the following callback method:
isText
: Indicates presence of textisBarcode
: Indicates presence of a barcodeisQrCode
: Indicates presence of a QR codeisDocument
: Indicates presence of a document
🔘 Enable Detection Indicators
You can toggle detection indicators as follows:
🎯 Focus Area Configuration
In single barcode scanning, you can also define the scan region. A scan region is a rectangular area inside VisionCameraWidget
. If you enable focus area, only the barcodes inside that rectangular area will be sent in onCodesReceived
. To define focus area, use the object of FocusRegionManager
that you can get after camera is started:
For assistance of scanning region visually during development or debugging:
shouldDisplayFocusImage = true
🧪 Sample Code
To start scanning for barcodes, QR codes, text or documents, use the startCamera
method. See the code below for example: