scandit-sdk
Version:
Scandit Barcode Scanner SDK for the Web
140 lines (139 loc) • 5.55 kB
TypeScript
import { Camera } from "../camera";
import { CameraSettings } from "../cameraSettings";
import { Scanner } from "../scanner";
import { GUI } from "./gui";
export declare enum MeteringMode {
CONTINUOUS = "continuous",
MANUAL = "manual",
NONE = "none",
SINGLE_SHOT = "single-shot"
}
export declare enum CameraResolutionConstraint {
ULTRA_HD = 0,
FULL_HD = 1,
HD = 2,
SD = 3,
NONE = 4
}
export interface ExtendedMediaTrackCapabilities extends MediaTrackCapabilities {
focusMode?: MeteringMode[];
torch?: boolean;
zoom?: {
max: number;
min: number;
step: number;
};
}
export interface ExtendedMediaTrackConstraintSet extends MediaTrackConstraintSet {
focusMode?: MeteringMode;
torch?: boolean;
zoom?: number;
}
/**
* A barcode picker utility class used to handle camera interaction.
*/
export declare class CameraManager {
private static readonly cameraAccessTimeoutMs;
private static readonly videoMetadataCheckTimeoutMs;
private static readonly videoMetadataCheckIntervalMs;
private static readonly getCapabilitiesTimeoutMs;
private static readonly autofocusIntervalMs;
private static readonly manualToAutofocusResumeTimeoutMs;
private static readonly manualFocusWaitTimeoutMs;
private static readonly noCameraErrorParameters;
private static readonly notReadableErrorParameters;
selectedCamera?: Camera;
activeCamera?: Camera;
activeCameraSettings?: CameraSettings;
private readonly scanner;
private readonly triggerCameraAccessError;
private readonly gui;
private readonly postStreamInitializationListener;
private readonly videoResizeListener;
private readonly videoTrackEndedListener;
private readonly videoTrackMuteListener;
private readonly triggerManualFocusListener;
private readonly triggerZoomStartListener;
private readonly triggerZoomMoveListener;
private readonly checkCameraVideoStreamAccessIfVisibleListener;
private cameraType;
private selectedCameraSettings?;
private mediaStream?;
private mediaTrackCapabilities?;
private cameraAccessTimeout;
private cameraAccessRejectCallback?;
private videoMetadataCheckInterval;
private getCapabilitiesTimeout;
private autofocusInterval;
private manualToAutofocusResumeTimeout;
private manualFocusWaitTimeout;
private cameraSwitcherEnabled;
private cameraFOVSwitcherEnabled;
private torchToggleEnabled;
private tapToFocusEnabled;
private pinchToZoomEnabled;
private pinchToZoomDistance?;
private pinchToZoomInitialZoom;
private torchEnabled;
private cameraInitializationPromise?;
private abortedCameraInitializationResolveCallback?;
private cameraSetupPromise?;
constructor(scanner: Scanner, triggerCameraAccessError: (error: Error) => void, gui: GUI);
setInteractionOptions(cameraSwitcherEnabled: boolean, cameraFOVSwitcherEnabled: boolean, torchToggleEnabled: boolean, tapToFocusEnabled: boolean, pinchToZoomEnabled: boolean): void;
isCameraSwitcherEnabled(): boolean;
setCameraSwitcherEnabled(enabled: boolean): Promise<void>;
isCameraFOVSwitcherEnabled(): boolean;
setCameraFOVSwitcherEnabled(enabled: boolean): Promise<void>;
isTorchToggleEnabled(): boolean;
setTorchToggleEnabled(enabled: boolean): void;
isTapToFocusEnabled(): boolean;
setTapToFocusEnabled(enabled: boolean): void;
isPinchToZoomEnabled(): boolean;
setPinchToZoomEnabled(enabled: boolean): void;
setInitialCameraType(cameraType: Camera.Type): void;
setCameraType(cameraType: Camera.Type): Promise<void>;
setSelectedCamera(camera?: Camera): void;
setSelectedCameraSettings(cameraSettings?: CameraSettings): void;
setupCameras(): Promise<void>;
stopStream(cameraInitializationFailure?: boolean): Promise<void>;
applyCameraSettings(cameraSettings?: CameraSettings): Promise<void>;
reinitializeCamera(): Promise<void>;
initializeCameraWithSettings(camera?: Camera, cameraSettings?: CameraSettings): Promise<void>;
setTorchEnabled(enabled: boolean): Promise<void>;
toggleTorch(): Promise<void>;
setZoom(zoomPercentage: number, currentZoom?: number): Promise<void>;
private isCameraFOVSwitcherAllowed;
private recoverStreamIfNeeded;
private setupCamerasAndStream;
private getInitialCameraResolutionConstraint;
private accessAutoselectedCamera;
private accessInitialCamera;
private updateActiveCameraCurrentResolution;
private postStreamInitialization;
private videoResizeHandle;
private checkCameraVideoStreamAccessIfVisible;
private videoTrackEndedRecovery;
private videoTrackMuteRecovery;
private triggerManualFocusForContinuous;
private triggerManualFocusForSingleShot;
private triggerManualFocus;
private triggerZoomStart;
private triggerZoomMove;
private storeStreamCapabilities;
private setupAutofocus;
private triggerAutoFocus;
private triggerFocusMode;
private enableTapToFocusListeners;
private enablePinchToZoomListeners;
private disableTapToFocusListeners;
private disablePinchToZoomListeners;
private initializeCameraAndCheckUpdatedSettings;
private handleCameraInitializationError;
private updateStreamForResolution;
private initializeStreamForResolution;
private initializeCameraForResolution;
private setCameraAccessTimeout;
private checkCameraAccess;
private checkVideoMetadata;
private setupCameraStreamVideo;
}