getBarcodeStreamReceiver static method

Stream? getBarcodeStreamReceiver(
  1. String lineColor,
  2. String cancelButtonText,
  3. bool isShowFlashIcon,
  4. ScanMode scanMode,
)

Returns a continuous stream of barcode scans until the user cancels the operation.

Shows a scan line with lineColor over a scan window. A flash icon is displayed if isShowFlashIcon is true. The text of the cancel button can be customized with the cancelButtonText string. Returns a stream of detected barcode strings.

Implementation

static Stream? getBarcodeStreamReceiver(String lineColor, String cancelButtonText, bool isShowFlashIcon, ScanMode scanMode) {
  if (cancelButtonText.isEmpty) {
    cancelButtonText = 'Cancel';
  }

  // Pass params to the plugin
  Map params = <String, dynamic>{'lineColor': lineColor, 'cancelButtonText': cancelButtonText, 'isShowFlashIcon': isShowFlashIcon, 'isContinuousScan': true, 'scanMode': scanMode.index};

  // Invoke method to open camera, and then create an event channel which will
  // return a stream
  _channel.invokeMethod('scanBarcode', params);
  _onBarcodeReceiver ??= _eventChannel.receiveBroadcastStream();
  return _onBarcodeReceiver;
}