UNPKG

agora-classroom-sdk

Version:

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

185 lines (184 loc) 4.39 kB
import { ClassState, RecordMode, RecordStatus } from 'agora-edu-core'; import { AGNetworkQuality } from 'agora-rte-sdk'; import { SvgIconEnum } from '@classroom/ui-kit'; import { EduUIStoreBase } from '../base'; export interface EduNavAction<P = undefined> { id: 'Record' | 'AskForHelp' | 'Settings' | 'Exit' | 'Camera' | 'Mic' | 'Share'; title: string; iconType: SvgIconEnum; iconColor?: string; onClick?: () => void; payload?: P; } export interface EduNavRecordActionPayload { text: string; recordStatus: RecordStatus; } export declare class NavigationBarUIStore extends EduUIStoreBase { private _disposers; onInstall(): void; shareVisible: boolean; get recordStatus(): RecordStatus; get isRecording(): boolean; get isRecordStarting(): boolean; get isRecordStoped(): boolean; /** * 是否选择摄像头设备 * @returns */ get localCameraOff(): boolean; /** * 是否选择麦克风设备 */ get localMicOff(): boolean; get hasStreamWindow(): boolean; /** * 当前 camera 的状态根据讲台的隐藏展示 + camera 的状态来更新状态 * stage --> 讲台 * camera --> camera 状态 * * stage === true 那么控制摄像头开关 * stage === flase 控制老师窗口的展示和关闭 */ get localNavCameraOff(): boolean; /** * 顶部导航栏按钮列表 * @returns */ get actions(): EduNavAction<EduNavRecordActionPayload | undefined>[]; get teacherInCurrentRoom(): boolean | "" | undefined; /** * 老师所在房间 */ get teacherGroupUuid(): string | false | undefined; /** * 教室时间信息 * @returns */ get classroomSchedule(): import("agora-edu-core/lib/stores/domain/common/room/type").ClassroomSchedule; /** * 教室状态 * @returns */ get classState(): ClassState | undefined; /** * 服务器时间 * @returns */ get calibratedTime(): number; /** * 教室持续时间 * @returns */ get classTimeDuration(): number; /** * 教室状态文字 * @returns */ get classStatusText(): string; /** * 教室状态文字颜色 * @returns */ get classStatusTextColor(): "#F04C36" | "#677386" | undefined; /** * 是否为开始上课 * @returns */ get isBeforeClass(): boolean; /** * 网络质量状态 * @returns */ get networkQualityClass(): string; /** * 网络质量状态图标 * @returns */ get networkQualityIcon(): { icon: SvgIconEnum; color: string; }; /** * 网络质量状态 * @returns */ get networkQualityLabel(): string; /** * CPU 用量 * @returns */ get cpuValue(): number; /** * CPU 负载百分比 * @returns */ get cpuLabel(): string; /** * 丢包率 * @returns */ get packetLoss(): string; /** * 网络质量状态 * @returns */ get networkQuality(): AGNetworkQuality; /** * 网络延时 * @returns */ get delay(): string; /** * 导航栏标题 * @returns */ get navigationTitle(): string; /** * 当前屏幕分享人名称 */ get currScreenShareTitle(): string | undefined; /** * 所在房间名称 */ get currentSubRoomName(): string | null | undefined; get recordArgs(): { webRecordConfig: { rootUrl: string; videoBitrate: number; }; mode: RecordMode; retryTimeout: number; }; /** * 倒计时格式化 * @param ms * @param mode * @returns */ private formatCountDown; closeShare(): void; /** * 开始上课 */ startClass(): Promise<void>; /** * 切换本地摄像头设备开关状态 */ private _toggleLocalVideo; /** * 切换本地麦克风设备开关状态 */ private _toggleLocalAudio; /** * 打开关闭老师的 streamWindow */ private _toggleStreamWindow; /** * stage === true 那么控制摄像头开关 * stage === flase 控制老师窗口的展示和关闭 */ private _toggleNavCamera; private _leaveSubRoom; onDestroy(): void; }