API Docs for: 1.0.0
Show:

WebCameraService Class

Provides information about the camera device, allows to start/stop an image capturing and to capture the image.

Constructor

WebCameraService

()

Methods

addAvailabilityChangedListener

(
  • handler
)
Void

Inherited from DeviceService:

Adds listeners to AvailabilityChanged event.

Parameters:

  • handler Function

    A function that handles the event. The function that has a single parameter of boolean type and does not return a value.

Returns:

Void:

Example:

var connector = new buildingLink.Connector();

// Handles AvailabilityChanged event.
var onAvailabilityChanged = function(isAvailable) {
    alert("Service availability changed: " + isAvailable);
};

var connectionSuccededCallback = function() {
    // Adds listener to AvailabilityChanged event for any service: connector.barcodeScanService.addAvailabilityChangedListener(), connector.fingerprintReaderService.addAvailabilityChangedListener().
    connector.idCardScanService.addAvailabilityChangedListener(onAvailabilityChanged);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

addImageCapturingListener

(
  • handler
)
Void

Adds listeners to ImageCapturing event.

Parameters:

  • handler Function

    A function that will handle the event. The function that has a single parameter of type Image and does not return a value.

Returns:

Void:

Example:

var connector = new buildingLink.Connector();

// Prepares canvas to display image stream from camera. It is supposed that HTML contains the following element: <canvas id="cnvPhoto"></canvas>
var canvas = document.getElementById("cnvPhoto");
var image = new Image();
image.onload = function () {
    canvas.width = image.width;
    canvas.height = image.height;
    var context = canvas.getContext("2d");
    context.drawImage(image, 0, 0, canvas.width, canvas.height);
};
image.onerror = function (stuff) {
    console.log("Img Onerror:", stuff);
};

// Handles ImageCapturing event.
var onImageCapturing = function(imageCapturingResult) {
    image.src = "data:image/png;base64," + imageCapturingResult.imageBase64;
};

var connectionSuccededCallback = function() {
    // Adds listener to ImageCapturing event.
    connector.webCameraService.addImageCapturingListener(onImageCapturing);

    // Starts image capturing from selected camera.
    connector.webCameraService.startCapturingAsync(true, 25);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

addSelectedCameraChangedListener

(
  • handler
)
Void

Adds listeners to SelectedCameraChanged event.

Parameters:

  • handler Function

    A function that handles the event. The function that has a single parameter of type Device and does not return a value.

Returns:

Void:

Example:

var connector = new buildingLink.Connector();

// Handles SelectedCameraChanged event.
var onSelectedCameraChanged = function(camera) {
    var alertMessage;
    if (camera) {
        alertMessage = "Selected camera changed. New camera: " + camera.modelName;
    } else {
        alertMessage = "Selected camera changed.";
    }
    alert(alertMessage);
};

var connectionSuccededCallback = function() {
    // Adds listener to SelectedCameraChanged event.
    connector.webCameraService.addSelectedCameraChangedListener(onSelectedCameraChanged);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

captureImageAsync

() Promise | CaptureImageResult async

Captures an image from selected camera.

Returns:

Promise | CaptureImageResult:

A promise of the result that returns a CaptureImageResult in case of success.

Example:

// Creates shortcuts to avoid using long references to ImageCapturingFailureReason and FailureReason below in code.
var ImageCapturingFailureReason = buildingLink.connector.services.imageCapturing.ImageCapturingFailureReason;
var FailureReason = buildingLink.connector.services.FailureReason;

var connector = new buildingLink.Connector();

// Defines failure handler for operation with device.
var failureCaptureHandler = function(failureReason) {
    var failureMessage;
    switch (failureReason) {
        case FailureReason.ServiceNotAvailable:
            failureMessage = "No attached WebCams.";
            break;
        case FailureReason.InternalError:
            failureMessage = "Internal error occured.";
            break;
        default:
            throw new Error("failureReason");
    }
    alert(failureMessage);
};

var connectionSuccededCallback = function() {
    // Starts image capturing from selected camera.
    connector.webCameraService.startCapturingAsync(true, 25).then(function(startCapturingResult) {
        // Handle startCapturingResult
    }, failureCaptureHandler);

    // Camptures an image from selected camera in 5 seconds.
    setTimeout(function (){
        connector.webCameraService.captureImageAsync().then(function (result) {
            if (result.isSuccessful) {
                alert("Image captured."); // Get access to captured image via property result.image
            } else {
                switch (result.failureReason) {
                    case ImageCapturingFailureReason.CapturingNotStarted:
                        alert("Image capture failed: CapturingNotStarted"); // Shows image capture failure message.
                        break;
                    case ImageCapturingFailureReason.InternalError:
                        alert("Image captured: InternalError"); // Shows image capture failure message.
                        break;
                }
            }
        }, failureCaptureHandler);
    }, 5000);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

getIsAvailableAsync

() Promise | Boolean async

Inherited from DeviceService:

Allows to determine whether device is available.

Returns:

Promise | Boolean:

A promise of the result that returns true if device is available or false otherwise in case of success.

Example:

var connector = new buildingLink.Connector();

var connectionSuccededCallback = function() {
    // Gets whether device service is available or no. This method is common for all services and can be used like: connector.autoDialerService.getIsAvailableAsync(), connector.fingerprintReaderService.getIsAvailableAsync(), etc.
    connector.webCameraService.getIsAvailableAsync().then(function (isAvailable) {
        if (isAvailable) {
            alert("Service is available.");
        } else {
            alert("Service is not available.");
        }
    });
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

getSelectedCameraAsync

() Promise | Device async

Gets selected camera device.

Returns:

Promise | Device:

A promise of the result that returns a device in case of success.

Example:

// Creates a shortcut to avoid using long references to FailureReason below in code.
var FailureReason = buildingLink.connector.services.FailureReason;

var connector = new buildingLink.Connector();

// Defines failure handler for operation with device.
var failureGetSelectedCameraHandler = function(failureReason) {
    var failureMessage;
    switch (failureReason) {
        case FailureReason.ServiceNotAvailable:
            failureMessage = "No attached WebCams.";
            break;
        case FailureReason.InternalError:
            failureMessage = "Internal error occured.";
            break;
        default:
            throw new Error("failureReason");
    }
    alert(failureMessage);
};

var connectionSuccededCallback = function() {
    // Gets selected web camera device.
    connector.webCameraService.getSelectedCameraAsync().then(function (camera) {
        alert("Camera name: " + camera.name + "\n" + "Camera model name: " + camera.modelName); // Shows camera name and model.
    }, failureGetSelectedCameraHandler);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

removeAvailabilityChangedListener

(
  • handler
)
Void

Inherited from DeviceService:

Removes listeners from AvailabilityChanged event.

Parameters:

  • handler Function

    A function that handles the event. The function that has a single parameter of boolean type and does not return a value.

Returns:

Void:

Example:

var connector = new buildingLink.Connector();

// Handles AvailabilityChanged event.
var onAvailabilityChanged = function(isAvailable) {
    alert("Service availability changed: " + isAvailable);
};

var connectionSuccededCallback = function() {
    // Adds listener to AvailabilityChanged event for any service: connector.signaturePadService.addAvailabilityChangedListener(), connector.autoDialerService.addAvailabilityChangedListener().
    connector.idCardScanService.addAvailabilityChangedListener(onAvailabilityChanged);

    // Removes AvailabilityChanged listener in 5 seconds for any service: connector.signaturePadService.removeAvailabilityChangedListener(), connector.autoDialerService.removeAvailabilityChangedListener().
    setTimeout(function (){
        connector.idCardScanService.removeAvailabilityChangedListener(onAvailabilityChanged);
        alert("AvailabilityChanged listener."); // Observe that notifications will be stopped after this alert.
    }, 5000);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

removeImageCapturingListener

(
  • handler
)
Void

Removes listeners from ImageCapturing event.

Parameters:

  • handler Function

    A function that handles the event. The function that has a single parameter of type Image and does not return a value.

Returns:

Void:

Example:

var connector = new buildingLink.Connector();

// Handles ImageCapturing event.
var onImageCapturing = function(imageCapturingResult) {
    console.log("Capturing.");
};

var connectionSuccededCallback = function() {
    // Adds listeners to ImageCapturing event.
    connector.webCameraService.addImageCapturingListener(onImageCapturing);

    // Starts image capturing from selected camera.
    connector.webCameraService.startCapturingAsync(true, 25);

    // Stops image capturing from selected camera and removes ImageCapturing listener in 5 seconds.
    setTimeout(function (){
        connector.webCameraService.stopCapturingAsync();
        connector.webCameraService.removeImageCapturingListener(onImageCapturing);
    }, 5000);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

removeSelectedCameraChangedListener

(
  • handler
)
Void

Removes listeners from SelectedCameraChanged event.

Parameters:

  • handler Function

    A function that handles the event. The function that has a single parameter of type Device and does not return a value.

Returns:

Void:

Example:

var connector = new buildingLink.Connector();

// Handles SelectedCameraChanged event.
var onSelectedCameraChanged = function(camera) {
    alert("Selected camera changed.");
};

var connectionSuccededCallback = function() {
    // Adds listener to SelectedCameraChanged event.
    connector.webCameraService.addSelectedCameraChangedListener(onSelectedCameraChanged);

    // Removes SelectedCameraChanged listener in 5 seconds.
    setTimeout(function (){
        connector.webCameraService.removeSelectedCameraChangedListener(onSelectedCameraChanged);
    }, 5000);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

showSettingsAsync

() Promise | Void async

Inherited from DeviceService:

Allows to show device settings in Connector app.

Returns:

Promise | Void:

A promise of the result.

Example:

var connector = new buildingLink.Connector();

var connectionSuccededCallback = function() {
    // Shows device settings for selected service. This method is common for all services and can be used: connector.idCardScanService.showSettingsAsync(), connector.barcodeScanService.showSettingsAsync(), etc.
    connector.printService.showSettingsAsync();
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

startCapturingAsync

(
  • shouldRestartCapturingWhenCameraIsFree
  • [fps=undefined]
)
Promise | StartImageCapturingResult async

Starts capturing an image from selected camera.

Parameters:

  • shouldRestartCapturingWhenCameraIsFree Boolean

    true to start capturing when camera is free, otherwise, false.

  • [fps=undefined] Number optional

    Number of frames that server will send per second.

Returns:

Promise | StartImageCapturingResult:

A promise of the result that returns a StartImageCapturingResult in case of success.

Example:

// Creates shortcuts to avoid using long references to StartImageCapturingStatus and FailureReason below in code.
var StartImageCapturingStatus = buildingLink.connector.services.imageCapturing.StartImageCapturingStatus;
var FailureReason = buildingLink.connector.services.FailureReason;

var connector = new buildingLink.Connector();

// Defines failure handler for operation with device.
var failureStartCapturingHandler = function(failureReason) {
    var failureMessage;
    switch (failureReason) {
        case FailureReason.ServiceNotAvailable:
            failureMessage = "No attached WebCams.";
            break;
        case FailureReason.InternalError:
            failureMessage = "Internal error occured.";
            break;
        default:
            throw new Error("failureReason");
    }
    alert(failureMessage);
};

var connectionSuccededCallback = function() {
    // Starts image capturing from selected camera.
    connector.webCameraService.startCapturingAsync(true, 25).then(function (result) {
        switch (result.startCapturingStatus) {
            case StartImageCapturingStatus.Failed:
                alert("WebCameraStarted result: Fail to start webcamera capturing."); // Shows failure message.
                break;
            case StartImageCapturingStatus.WebCameraBusy:
                alert("WebCameraStarted result: webcamera busy by another program."); // Shows camera busy message.
                break;
            case StartImageCapturingStatus.Started:
                alert("WebCameraStarted result: webcamera started"); // Shows camera started message.
                break;
            default:
                throw new Error("result.startCapturingStatus");
        }
    }, failureStartCapturingHandler);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

stopCapturingAsync

() Promise | Void async

Stops capturing an image from selected camera.

Returns:

Promise | Void:

A promise of the result.

Example:

var connector = new buildingLink.Connector();

var connectionSuccededCallback = function() {
    // Starts image capturing from selected camera.
    connector.webCameraService.startCapturingAsync(true, 25);

    // Stops image capturing from selected camera in 5 seconds.
    setTimeout(function (){
        connector.webCameraService.stopCapturingAsync();
    }, 5000);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);