easyproctor
Version:
Modulo web de gravação do EasyProctor
83 lines (82 loc) • 2.79 kB
TypeScript
import StartProctoringResponse from "../dtos/StartProctoringResponse";
import { DevicesChanged } from "../interfaces/Devices";
import { ProctoringSessionOptions } from "./options/ProctoringOptions";
import { ProctoringVideoOptions } from "./options/ProctoringVideoOptions";
export interface ProctoringContext {
type?: string;
examId: string;
clientId: string;
token?: string;
credentials?: {
cpf: string;
};
showConsole?: boolean;
}
export interface ProctoringFinisherOptions {
onProgress?: (percentage: number) => void;
}
export interface ProctoringChangeDevicesOptions {
status?: (devices: DevicesChanged) => void;
}
export interface ProctoringRealtimeAlertsOptions {
data?: (response: any) => void;
}
export declare enum ProctoringState {
Stop = "Stop",
Starting = "Starting",
Recording = "Recording",
Stopping = "Stopping",
Paused = "Paused"
}
export declare enum ServiceType {
Download = "Download",
Upload = "Upload"
}
export declare class Proctoring {
private context;
private auth;
private readonly backend;
private readonly repository;
private readonly repositoryDevices;
private extension;
private paramsConfig;
private proctoringId;
private insights?;
private proctoringSession;
private sessionOptions;
private videoOptions;
private geolocation;
private state;
private serviceType;
private recorder;
private allRecorders;
private spyCam;
private onStopSharingScreenCallback;
setOnStopSharingScreenCallback(cb: () => void): void;
private onLostFocusCallback;
setOnLostFocusCallback(cb: () => void): void;
private onFocusCallback;
setOnFocusCallback(cb: () => void): void;
private onChangeDevicesCallback;
onChangeDevices(options?: ProctoringChangeDevicesOptions): Promise<void>;
private onRealtimeAlertsCallback;
onRealtimeAlerts(options?: ProctoringRealtimeAlertsOptions): Promise<void>;
private onBufferSizeErrorCallback;
setOnBufferSizeErrorCallback(cb: (cameraStream?: any) => void): void;
constructor(context: ProctoringContext);
private createRecorders;
login(): Promise<void>;
start(options?: ProctoringSessionOptions, _videoOptions?: Partial<ProctoringVideoOptions>): Promise<StartProctoringResponse>;
private cancel;
finish(options?: ProctoringFinisherOptions): Promise<void>;
private verifyMultipleMonitors;
private verifyBrowser;
private initConfig;
private getServerDate;
pause(): Promise<void>;
resume(): Promise<{
cameraStream: MediaStream;
audioStream?: MediaStream;
_screenStream: MediaStream | undefined;
}>;
}