Dev Center
Swift
Objective-C
Table of contents

Video Decoding Methods

Methods Descriptions
startFrameDecoding Decode barcodes from inner frame queue.
startFrameDecodingEx Decode barcodes from inner frame queue.
appendFrame Append a frame image buffer to the inner frame queue.
stopFrameDecoding Stop thread used for frame decoding.
initFrameDecodingParameters Initialize frame decoding parameter.
setErrorCallback Set callback interface to process errors generated during frame decoding.
setTextResultCallback Set callback interface to process text results generated during frame decoding.
setIntermediateResultCallback Set callback interface to process intermediate results generated during frame decoding.
getLengthOfFrameQueue Get length of current inner frame queue.

startFrameDecoding

Start a new thread to decode barcodes from the inner frame queue with specific frame decoding setting passed in.

void startFrameDecoding (final int maxQueueLength, final int maxResultQueueLength, final int width, final int height, final int stride, final int enumImagePixelFormat, final String templateName) throws BarcodeReaderException

Parameters

maxQueueLength: The max number of frames waiting for decoding.
maxResultQueueLength: The max number of frames whose results (text result/localization result) will be kept.
width: The width of the frame image in pixels.
height: The height of the frame image in pixels.
stride: The stride (or scan width) of the frame image.
format: The image pixel format used in the image byte array.
templateName: The template name.

Exceptions

BarcodeReaderException

Code Snippet

BarcodeReader reader = new BarcodeReader();
reader.setErrorCallback(new ErrorCallback() {
    @Override
    public void errorCallback(int frameId, int errorCode, Object userData) {
        //TODO add your code for using error code
    }
}, null);
reader.startFrameDecoding(2, 10, 1024, 720, 1024, EnumImagePixelFormat.IPF_GRAYSCALED, "");

startFrameDecodingEx

Start a new thread to decode barcodes from the inner frame queue with specific frame decoding setting defined in FrameDecodingParameters struct.

void startFrameDecodingEx(FrameDecodingParameters parameters, String templateName) throws BarcodeReaderException

Parameters

parameters: The frame decoding parameters.
templateName: The template name.

Exceptions

BarcodeReaderException

Code Snippet

BarcodeReader reader = new BarcodeReader();
FrameDecodingParameters parameters = reader.initFrameDecodingParameters();
parameters.maxQueueLength = 2;
parameters.maxResultQueueLength = 10;
parameters.width = 1024;
parameters.height = 720;
parameters.stride = 1024;
parameters.imagePixelFormat = EnumImagePixelFormat.IPF_GRAYSCALED;
reader.setErrorCallback(new ErrorCallback() {
    @Override
    public void errorCallback(int frameId, int errorCode, Object userData) {
        //TODO add your code for using error code
    }
}, null);
reader.startFrameDecodingEx(parameters, "");

appendFrame

Append a frame image buffer to the inner frame queue.

int appendFrame(byte[] bufferBytes)

Parameters

bufferBytes: The array of bytes which contain the image data.

Return Value

Returns the ID of the appended frame.

Code Snippet

BarcodeReader reader = new BarcodeReader();
reader.startFrameDecoding(2, 10, 1024, 720, 1024, EnumImagePixelFormat.IPF_GRAYSCALED, "");
int frameId = reader.appendFrame(bufferBytes);

stopFrameDecoding

Stop the frame decoding thread created by StartFrameDecoding or StartFrameDecodingEx.

void stopFrameDecoding() throws BarcodeReaderException

Exceptions

BarcodeReaderException

Code Snippet

BarcodeReader reader = new BarcodeReader();
reader.startFrameDecoding(2, 10, 1024, 720, 1024, EnumImagePixelFormat.IPF_GRAYSCALED, "");
reader.stopFrameDecoding();

initFrameDecodingParameters

Initialize frame decoding parameters with default values.

FrameDecodingParameters initFrameDecodingParameters() throws BarcodeReaderException

Return Value

The frame decoding parameters.

Exceptions

BarcodeReaderException

Code Snippet

BarcodeReader reader = new BarcodeReader();
FrameDecodingParameters parameters = reader.initFrameDecodingParameters();

setErrorCallback

Set callback interface to process errors generated during frame decoding.

void setErrorCallback(ErrorCallback errorCallback, Object userData) throws BarcodeReaderException

Parameters

errorCallback: Callback interface.
userData: Customized arguments passed to your function.

Exceptions

BarcodeReaderException

Code Snippet

BarcodeReader reader = new BarcodeReader();
reader.setErrorCallback(new ErrorCallback() {
    @Override
    public void errorCallback(int frameId, int errorCode, Object userData) {
        //TODO add your code for using error code
    }
}, null);
reader.startFrameDecoding(2, 10, 1024, 720, 1024, EnumImagePixelFormat.IPF_GRAYSCALED, "");

setTextResultCallback

Set callback interface to process text results generated during frame decoding.

void setTextResultCallback(TextResultCallback textResultCallback, Object userData) throws BarcodeReaderException

Parameters

textResultCallback: Callback interface.
userData: Customized arguments passed to your function.

Exceptions

BarcodeReaderException

Code Snippet

BarcodeReader reader = new BarcodeReader();
reader.setTextResultCallback(new TextResultCallback() {
    @Override
    public void textResultCallback(int frameId, TextResult[] results, Object userData) {
        //TODO add your code for using text results
    }
}, null);
reader.startFrameDecoding(2, 10, 1024, 720, 1024, EnumImagePixelFormat.IPF_GRAYSCALED, "");

setIntermediateResultCallback

Set callback interface to process intermediate results generated during frame decoding.

void setIntermediateResultCallback(IntermediateResultCallback intermediateResultCallback, Object userData} throws BarcodeReaderException

Parameters

intermediateResultCallback: Callback interface.
userData: Customized arguments passed to your function.

Exceptions

BarcodeReaderException

Code Snippet

BarcodeReader reader = new BarcodeReader();
PublicRuntimeSettings settings = reader.getRuntimeSettings();
settings.intermediateResultTypes = EnumIntermediateResultType.IRT_ORIGINAL_IMAGE | EnumIntermediateResultType.IRT_COLOUR_CLUSTERED_IMAGE | EnumIntermediateResultType.IRT_COLOUR_CONVERTED_GRAYSCALE_IMAGE;
reader.updateRuntimeSettings(settings);
reader.setIntermediateResultCallback(new IntermediateResultCallback() {
    @Override
    public void intermediateResultCallback(int frameId, IntermediateResult[] results, Object userData) {
        //TODO add your code for using intermediate results
    }
}, null);
reader.startFrameDecoding(2, 10, 1024, 720, 1024, EnumImagePixelFormat.IPF_GRAYSCALED, "");

getLengthOfFrameQueue

Get length of current inner frame queue.

int getLengthOfFrameQueue()

Return Value

Returns length of current inner frame queue.

Code Snippet

BarcodeReader reader = new BarcodeReader();
int length = reader.getLengthOfFrameQueue();

This page is compatible for:

Is this page helpful?

YesYes NoNo

In this article:

version 8.4.0

  • Latest version
  • Version 10.x
    • Version 10.2.1101
    • Version 10.2.1100
    • Version 10.2.1101
    • Version 10.2.10
    • Version 10.0.21
    • Version 10.0.20
    • Version 10.2.10
    • Version 10.0.21
    • Version 10.0.20
  • Version 9.x
    • Version 9.6.40
    • Version 9.6.20
    • Version 9.6.11
    • Version 9.6.10
    • Version 9.6.0
    • Version 9.4.0
    • Version 9.2.11
    • Version 9.2.10
    • Version 9.0.2
    • Version 9.0.1
    • Version 9.0.0
    • Version 9.6.40
    • Version 9.6.20
    • Version 9.6.10
    • Version 9.6.0
    • Version 9.4.0
    • Version 9.2.13
    • Version 9.2.10
    • Version 9.0.2
    • Version 9.0.1
    • Version 9.0.0
  • Version 8.x
    • Version 8.9.3
    • Version 8.9.1
    • Version 8.9.0
    • Version 8.8.0
    • Version 8.6.0
    • Version 8.4.0
    • Version 8.2.1
    • Version 8.2.0
    • Version 8.1.2
    • Version 8.1.0
    • Version 8.0.0
    • Version 8.9.3
    • Version 8.9.1
    • Version 8.9.0
    • Version 8.8.0
    • Version 8.6.0
    • Version 8.4.0
    • Version 8.2.1
    • Version 8.2.0
    • Version 8.1.2
    • Version 8.1.0
    • Version 8.0.0
  • Version 7.x
    • Version 7.6.0
    • Version 7.5.0
    • Version 7.6.0
    • Version 7.5.0
  • Documentation Homepage
Change +