Data Capture Mode
Defined under the namespace Scandit.Datacapture.Core
- DataCaptureMode
interface DataCaptureMode
Added in version 6.8.0
DataCaptureMode is the interface implemented by all data capture modes. A data capture mode encapsulates a specific way of capturing data, such as barcode capture or Barcode Batch. Each capture mode can be individually enabled and disabled to switch between different ways of capturing data.
Capture modes are restricted to the set of data captures modes provided by the Scandit Data Capture SDK. It is not available for implementing custom data capture modes.
Capture modes need to be associated with a data capture context after they have been created using DataCaptureContext.addMode(). This is done automatically when using any of the factory methods such as BarcodeCapture.forContext() or BarcodeBatch.forContext() and specifying a context. If no context is specified for the factory methods, the mode has to be manually added. Modes can be removed again using DataCaptureContext.removeMode().
A data capture context can only be associated with one mode at a time. If multiple modes are associated with the same context, the context will not process any frames and report an error.
Usage Sample
Because the DataCaptureMode cannot be instantiated directly, the example below uses the BarcodeCapture to illustrate a typical usage of capture modes. Other capture modes will work very similarly. The typical steps are:
Configure the capture mode by first creating settings.
Instantiate the capture mode and associate with the context and the settings.
Registering a mode-specific listener (not shown).
Enabling recognition by setting the isEnabled property to true.
const settings = new Scandit.BarcodeCaptureSettings(); settings.setSymbologyEnabled(Scandit.Symbology.QR, true); const barcodeCapture = Scandit.BarcodeCapture.forContext( window.captureContext, settings, ); // Capture modes are enabled by default. The next line is not strictly necessary and // is only listed to make you aware of the possibility to enable/disable modes. barcodeCapture.isEnabled = true;
- isEnabled
isEnabled: boolean
Added in version 6.8.0
True if this data capture mode is enabled, false if not. Only enabled capture modes are processing frames.
Changing this property from false to true causes this data capture mode to start processing frames.
Changing this property from true to false causes this data capture mode to stop processing frames. The effect is immediate: no more frames will be processed after the change. However, if a frame is currently being processed, this frame will be completely processed and deliver any results/callbacks to the registered listeners. When changing this property from one of the listener callbacks that is called as a result of processing the frame, no more frames will be processed after that.
Note that this property only affects the data capture and does not affect the FrameSource’s state.
By default, this property is true.
- context
readonly context: DataCaptureContext | null
Added in version 6.8.0
The context this data capture mode is attached to. When the data capture mode is currently not attached to a context, null is returned.