@spoonconsulting/cordova-plugin-simple-camera-preview
Version:
Cordova plugin that allows camera interaction from HTML code for showing camera preview below or on top of the HTML.
86 lines (70 loc) • 2.9 kB
JavaScript
var exec = require("cordova/exec");
var PLUGIN_NAME = "SimpleCameraPreview";
var SimpleCameraPreview = function () {};
SimpleCameraPreview.videoInitialized = false;
SimpleCameraPreview.videoCallback = null;
SimpleCameraPreview.startVideoCapture = function (options, onSuccess, onError) {
if (!SimpleCameraPreview.videoCallback) {
console.error("Call initVideoCallback first");
onError("Call initVideoCallback first");
return;
}
if (!SimpleCameraPreview.videoInitialized) {
console.error("videoCallback not initialized");
onError("videoCallback not initialized");
return;
}
options = options || {};
options.recordWithAudio = options.recordWithAudio != null ? options.recordWithAudio : true;
options.videoDurationMs = options.videoDurationMs != null ? options.videoDurationMs : 3000;
exec(onSuccess, onError, PLUGIN_NAME, "startVideoCapture", [options]);
};
SimpleCameraPreview.stopVideoCapture = function (onSuccess, onError) {
exec(onSuccess, onError, PLUGIN_NAME, "stopVideoCapture");
};
SimpleCameraPreview.initVideoCallback = function (onSuccess, onError, callback) {
this.videoCallback = callback;
exec(
(info) => {
if (info.videoCallbackInitialized) {
SimpleCameraPreview.videoInitialized = true;
onSuccess();
}
this.videoCallback(info);
} ,
onError,
PLUGIN_NAME,
"initVideoCallback",
[]
);
}
SimpleCameraPreview.enable = function (options, onSuccess, onError) {
exec(onSuccess, onError, PLUGIN_NAME, "enable", [options]);
};
SimpleCameraPreview.disable = function (onSuccess, onError) {
exec(onSuccess, onError, PLUGIN_NAME, "disable", []);
};
SimpleCameraPreview.capture = function (options, onSuccess, onError) {
options = options || {};
options.flash = options.flash || false;
exec(onSuccess, onError, PLUGIN_NAME, "capture", [options.flash]);
};
SimpleCameraPreview.setSize = function (options, onSuccess, onError) {
exec(onSuccess, onError, PLUGIN_NAME, "setSize", [options]);
};
SimpleCameraPreview.torchSwitch = function (options, onSuccess, onError) {
exec(onSuccess, onError, PLUGIN_NAME, "torchSwitch", [options]);
};
SimpleCameraPreview.switchCameraTo = function (options, onSuccess, onError) {
options = options || {};
options.direction = options.direction || "back";
options.lens = options.direction === "back" ? options.lens : "default";
exec(onSuccess, onError, PLUGIN_NAME, "switchCameraTo", [options]);
};
SimpleCameraPreview.deviceHasFlash = function (onSuccess, onError) {
exec(onSuccess, onError, PLUGIN_NAME, "deviceHasFlash", []);
};
SimpleCameraPreview.deviceHasUltraWideCamera = function (onSuccess, onError) {
exec(onSuccess, onError, PLUGIN_NAME, "deviceHasUltraWideCamera", []);
};
module.exports = SimpleCameraPreview;