UNPKG

agora-edu-core-lb

Version:

For publishing npm package agora-edu-core (Web & Electron). Get more information from https://docs.agora.io

244 lines (243 loc) 9.04 kB
import { ReactElement } from 'react'; import { ScreenShareType, LocalUserRenderer, EduUser, EduStream, EduClassroomManager, MediaService, AgoraWebRtcWrapper, PrepareScreenShareParams } from 'agora-rte-sdk'; import { EduScenarioAppStore } from '.'; import { EduBoardService } from '../services/edu-board-service'; import { EduRecordService } from '../services/edu-record-service'; import { RoomApi } from '../services/room-api'; import { Mutex } from '../utilities/mutex'; import { ControlTool, EduMediaStream } from '../context/type'; import { DeviceStateEnum } from '../types'; export declare type SceneVideoConfiguration = { width: number; height: number; frameRate: number; }; export declare enum EduClassroomStateEnum { beforeStart = 0, start = 1, end = 2, close = 3 } export declare enum ClassStateEnum { started = 1 } export declare enum UnmuteMediaEnum { audio = 0, video = 1 } export declare enum CustomPeerApply { unmuteAction = 10 } export declare const networkQualities: { [key: string]: string; }; export type { EduMediaStream }; export declare class SimpleInterval { _intervalMap: Record<string, any>; addInterval(key: string, callback: CallableFunction, delay: number): void; delInterval(key: string): void; } export declare class SceneStore extends SimpleInterval { resolution: string; _microphoneTrack?: any; _cameraRenderer?: LocalUserRenderer; _screenVideoRenderer?: LocalUserRenderer; get videoEncoderConfiguration(): SceneVideoConfiguration; get totalVolume(): number; currentWindowId: string; customScreenSharePickerVisible: boolean; customScreenSharePickerType: ScreenShareType; customScreenSharePickerItems: any[]; settingVisible: boolean; autoplay: boolean; recordState: boolean; startTime: number; sharing: boolean; get localStreamUuid(): any; _hasCamera?: boolean; _hasMicrophone?: boolean; readonly mutex: Mutex; cameraLock: boolean; microphoneLock: boolean; waitingShare: boolean; userList: EduUser[]; get teacher(): EduUser | undefined; private _streamList; get screenShareStreamList(): EduStream[]; get streamList(): EduStream[]; updateStreamList(streamList: EduStream[]): void; unreadMessageCount: number; joined: boolean; classState: number; _delay: number; time: number; _cameraEduStream?: EduStream; _screenEduStream?: EduStream; roomApi: RoomApi; joiningRTC: boolean; recordId: string; recording: boolean; _canChatting: boolean; get canChatting(): boolean; _roomManager?: EduClassroomManager; appStore: EduScenarioAppStore; screenShareType: ScreenShareType; reset(): void; constructor(appStore: EduScenarioAppStore); get isHost(): boolean; get remoteUsersRenderer(): any[]; get screenVideoRenderer(): LocalUserRenderer | undefined; get cameraRenderer(): LocalUserRenderer | undefined; get cameraId(): string; get microphoneId(): string; get boardService(): EduBoardService; get recordService(): EduRecordService; get canChat(): boolean; showSetting(): void; hideSetting(): void; resetCameraTrack(): void; resetMicrophoneTrack(): void; resetScreenTrack(): void; resetScreenStream(): void; sendUnmuteApply(source: 'video' | 'audio', userUuid: string): Promise<void>; showScreenShareWindowWithItems(type?: ScreenShareType): void; get roomUuid(): string; startNativeScreenShareBy(shareId: any, type?: ScreenShareType): Promise<void>; removeScreenShareWindow(): void; get mediaService(): MediaService; get web(): AgoraWebRtcWrapper; get isWeb(): boolean; get isElectron(): boolean; lockCamera(): void; unLockCamera(): void; openingTeacherCamera: boolean; closingTeacherCamera: boolean; openingStudentCamera: boolean; closingStudentCamera: boolean; loadingTeacherMicrophone: boolean; loadingStudentMicrophone: boolean; setOpeningCamera(value: boolean, userUuid: string): void; setClosingCamera(value: boolean, userUuid: string): void; setLoadingMicrophone(value: boolean, userUuid: string): void; get openingCamera(): boolean; get closingCamera(): boolean; get loadingMicrophone(): boolean; enableLocalAudio(): Promise<void>; enableLocalVideo(): Promise<void>; disableLocalVideo(): Promise<void>; sendMuteLocalCamera(): Promise<void>; sendUnmuteLocalCamera(): Promise<void>; disableLocalAudio(): Promise<void>; sendMuteLocalMicrophone(): Promise<void>; sendUnmuteLocalMicrophone(): Promise<void>; muteLocalCamera(sync?: boolean): Promise<void>; unmuteLocalCamera(sync?: boolean): Promise<void>; muteLocalMicrophone(sync?: boolean): Promise<void>; unmuteLocalMicrophone(sync?: boolean): Promise<void>; lockMicrophone(): void; unLockMicrophone(): void; stopWebSharing(): Promise<void>; startWebSharing(): Promise<void>; screenComponent: ReactElement | null; attachScreenComponent(component: ReactElement): void; stopRTCSharing(): Promise<void>; startOrStopSharing(type?: ScreenShareType): Promise<void>; prepareScreenShare(params?: PrepareScreenShareParams): Promise<void>; stopNativeSharing(): Promise<void>; resetWebPrepareScreen(): Promise<void>; get roomInfo(): import("..").RoomInfo; get delay(): string; get roomManager(): EduClassroomManager; get screenEduStream(): EduStream; get cameraEduStream(): EduStream; isBigClassStudent(): boolean; get eduManager(): import("agora-rte-sdk").EduManager; getStudentConfig(): { sceneType: number; userRole: string; }; get teacherUuid(): string; get localUser(): any; get muteControl(): boolean; get userUuid(): string; get isRecording(): boolean; prepareRTC(): void; joinRTC(args: any): Promise<void>; leaveRtc(): Promise<void>; prepareCamera(): Promise<void>; prepareMicrophone(): Promise<void>; get defaultTeacherPlaceholder(): { holderState: string; text: string; }; get defaultStudentPlaceholder(): { holderState: string; text: string; }; get localCameraDeviceState(): DeviceStateEnum; get localMicrophoneDeviceState(): DeviceStateEnum; queryCameraDeviceState(userList: EduUser[], userUuid: string, streamUuid: string): any; queryMicDeviceState(userList: EduUser[], userUuid: string, streamUuid: string): any; queryRemoteCameraDeviceState(userList: EduUser[], userUuid: string, streamUuid: string): any; queryRemoteMicrophoneDeviceState(userList: EduUser[], userUuid: string, streamUuid: string): any; getLocalPlaceHolderProps(): { holderState: string; text: string; }; getRemotePlaceHolderProps(userUuid: string, userRole: string): { holderState: string; text: string; }; getFixAudioVolume(streamUuid: number): number; queryLocalCameraDevice(userUuid: string): any; queryLocalMicDevice(userUuid: string): any; get cameraDevice(): any; get micDevice(): any; queryCamIssue(userUuid: string): boolean; queryCamDisabled(userUuid: string): boolean; queryVideoFrameIsNotFrozen(uid: number): boolean; queryAudioIsNotFrozen(uid: number): boolean; queryUserIsOnline(userUuid: string): boolean; queryUserIsOnPodium(streamUuid: string): boolean; get teacherStreamInfo(): any; get teacherStream(): any; get sceneVideoConfig(): { hideOffPodium: boolean; hideOffAllPodium: boolean; isHost: boolean; hideBoardGranted: boolean; }; get controlTools(): ControlTool[]; get sceneType(): number; private getUserBy; private getStreamBy; private getRemoteVideoStatsBy; get screenShareStream(): EduMediaStream; isLocalStream(stream: EduStream): boolean; fixNativeVolume(volume: number): number; fixWebVolume(volume: number): number; get localVolume(): number; get studentStreams(): EduMediaStream[]; startClass(): Promise<void>; stopClass(): Promise<void>; get mutedChat(): boolean; muteChat(): Promise<void>; unmuteChat(): Promise<void>; /** * @note only teacher or myself return true * @param userUuid string */ hideControl(userUuid: string): boolean; closeStream(userUuid: string, isLocal: boolean): Promise<void>; muteAudio(userUuid: string, isLocal: boolean): Promise<void>; unmuteAudio(userUuid: string, isLocal: boolean): Promise<void>; muteVideo(userUuid: string, isLocal: boolean): Promise<void>; unmuteVideo(userUuid: string, isLocal: boolean): Promise<void>; muteUserChat(userUuid: string): Promise<void>; unmuteUserChat(userUuid: string): Promise<void>; startOrStopRecording(): Promise<void>; startRecording(): Promise<void>; stopRecording(): Promise<void>; revokeCoVideo(userUuid: string): Promise<void>; revokeAllCoVideo(): Promise<void>; }