Edu Store Typescript API Reference for Web
本文档仅适用于声网 Classroom SDK v2.3.x 及之后版本。
自 Classroom SDK 2.0.x 版本开始,Web端使用 Edu Store 为交互层提供能力支持,对应到 iOS 和 Android 端的 Edu Context。不同的 Store 代表灵动课堂中不同的业务功能模块。每个 Store 包含可观察属性和教室 API 供 App 调用。
Cloud Drive Store
CloudDriveStore 类提供云盘相关能力。
| 方法 | 描述 |
|---|---|
| CloudDriveStore.cancelUpload | 取消上传资源 |
| CloudDriveStore.fetchPersonalResources | 获取个人网盘资源 |
| CloudDriveStore.removePersonalResources | 移除个人网盘资源 |
| CloudDriveStore.retryUpload | 重新上传资源 |
| CloudDriveStore.uploadPersonalResource | 上传文件至个人资源 |
| CloudDriveStore.calcResourceUuid | 计算资源文件 UUID |
| 属性 | 描述 |
|---|---|
| CloudDriveStore.personalResources | 云盘个人资源文件列表 |
| CloudDriveStore.uploadProgress | 云盘资源上传进度 |
Group Store
GroupStore 提供分组讨论功能相关能力。
| 方法 | 描述 |
|---|---|
| GroupStore.acceptGroupInvite | 接受加入小组的邀请 |
| GroupStore.addGroups | 添加分组 |
| GroupStore.joinSubRoom | 进入小组 |
| GroupStore.leaveSubRoom | 离开小组 |
| GroupStore.moveIntoSubRoom | 用户主动从某房间移动至另一房间 |
| GroupStore.moveUsersToGroup | 将用户从某小组移入另一小组 |
| GroupStore.rejectGroupInvite | 拒绝加入小组的邀请 |
| GroupStore.removeGroupUsers | 将用户从小组中移除 |
| GroupStore.removeGroups | 移除分组 |
| GroupStore.startGroup | 开启分组讨论 |
| GroupStore.stopGroup | 结束分组讨论 |
| GroupStore.updateGroupInfo | 更新分组配置 |
| GroupStore.updateGroupUsers | 更新分组成员列表 |
| 属性 | 描述 |
|---|---|
| GroupStore.state | 分组状态 |
| GroupStore.groupDetails | 分组详情 |
Hand Up Store
HandUpStore 类提供举手上台功能相关能力。
| 方法 | 描述 |
|---|---|
| HandUpStore.cancelHandUp | 学生取消举手 |
| HandUpStore.offPodium | 让指定学生下讲台 |
| HandUpStore.offPodiumAll | 让全部学生下讲台 |
| HandUpStore.onPodium | 邀请学生上讲台 |
| HandUpStore.rejectHandUp | 拒绝举手请求 |
| HandUpStore.waveArm | 挥手 |
Media Store
MediaStore 用于媒体数据处理。
| 方法 | 描述 |
|---|---|
| MediaStore.enableLocalAudio | 开启或关闭本地视频 |
| MediaStore.enableLocalVideo | 开启或关闭本地视频 |
| MediaStore.getWindowDevices | 获取 Window 设备 |
| MediaStore.hasScreenSharePermission | 是否有屏幕共享的权限 |
| MediaStore.isScreenDeviceEnumerateSupported | 检测是否可以获取到屏幕采集设备列表 |
| MediaStore.setupLocalScreenShare | 为屏幕共享设置显示区域 |
| MediaStore.startScreenShareCapture | 开始屏幕共享 |
| MediaStore.stopScreenShareCapture | 停止屏幕共享 |
| MediaStore.updateLocalMediaState | 更新本地媒体状态 |
| MediaStore.enableDualStream | 开启双流模式 |
| MediaStore.setLowStreamParameter | 开启双流模式 |
| MediaStore.setMirror | 设置本地镜像 |
| MediaStore.addAudioRawDataObserver | 增加一个音频裸数据监听 |
| MediaStore.removeAudioRawDataObserver | 移除一个音频裸数据监听 |
| MediaStore.setupLocalVideo | 渲染本地视频 |
| 属性 | 描述 |
|---|---|
| MediaStore.videoCameraDevices | AGRtcDeviceInfo |
| MediaStore.audioRecordingDevices | 视频采集设备 |
| MediaStore.audioRecordingDevices | 音频采集设备 |
| MediaStore.audioPlaybackDevices | 音频播放设备 |
| MediaStore.cameraDeviceId | 当前视频采集设备 ID |
| MediaStore.recordingDeviceId | 当前音频采集设备 ID |
| MediaStore.playbackDeviceId | 当前视频播放设备 ID |
| MediaStore.localCameraTrackState | 本地视频采集设备状态 |
| MediaStore.localMicTrackState | 本地音频采集设备状态 |
| MediaStore.localScreenShareTrackState | 本地屏幕采集设备状态 |
| MediaStore.localScreenShareAudioTrackState | 本地视频采集设备状态 |
| MediaStore.currentScreenShareDevice | 当前采集屏幕设备 |
| MediaStore.localMicAudioVolume | 本地音频设备音量 |
| MediaStore.localPlaybackTestVolume | 本地扬声器音量 |
| MediaStore.isMirror | 视频是否镜像 |
Recording Store
RecordingStore类提供录制相关能力。
| 方法 | 描述 |
|---|---|
| RecordingStore.startRecording | 开始录制 |
| RecordingStore.stopRecording | 停止录制 |
Room Store
RoomStore 用于初始化教室和监听教室数据。
| 方法 | 描述 |
|---|---|
| RoomStore.sendRewards | 授予学生奖励 |
| RoomStore.startCarousel | 开始视频轮播 |
| RoomStore.stopCarousel | 停止视频轮播 |
| RoomStore.updateClassState | 更新课堂状态 |
| RoomStore.updateFlexProperties | 更新房间自定义属性 |
| 属性 | 描述 |
|---|---|
| RoomStore.carousel | 轮播设置 |
| RoomStore.expandedScope | 视频墙状态 |
| RoomStore.waveArmList | 挥手的用户列表 |
| RoomStore.acceptedList | 台上用户列表 |
| RoomStore.flexProps | 自定义房间属性 |
| RoomStore.recordStatus | 录制状态 |
| RoomStore.recordReady | 录制是否已经准备好 |
| RoomStore.recordStreamingUrl | 录制生成的视频流地址 |
| RoomStore.screenShareStreamUuid | 当前教室内正在进行的屏幕共享的流 UUID |
| RoomStore.screenShareUserUuid | 当前教室内正在进行的屏幕共享的流所属的用户 UUID |
| RoomStore.isOnPodium | 当前用户是否在台上 |
Statistics Store
StatisticsStore 提供网络相关数据。
| 属性 | 描述 |
|---|---|
| StatisticsStore.packetLoss | 丢包率 |
| StatisticsStore.uplinkNetworkQuality | 上行网络质量 |
| StatisticsStore.downlinkNetworkQuality | 下行网络质量 |
| StatisticsStore.cpu | 应用 CPU 用量 |
| StatisticsStore.cpuTotal | 系统 CPU 用量 |
| StatisticsStore.delay | 网络延迟 |
Stream Store
StreamStore 类用于管理媒体流。
| 方法 | 描述 |
|---|---|
| StreamStore.updateExpandedScopeAndStreams | 更新视频墙开关状态和发流用户列表 |
| StreamStore.initializeScreenShareStream | 初始化屏幕共享流 |
| StreamStore.destroyScreenShareStream | 销毁屏幕共享流 |
| StreamStore.setRemoteVideoStreamType | 设置远端视频质量 |
| StreamStore.setupRemoteVideo | 渲染远端视频 |
| StreamStore.muteRemoteVideoStream | 订阅/取消远端视频流 |
| StreamStore.muteRemoteAudioStream | 订阅/取消远端音频流 |
| StreamStore.muteRemoteVideoStreamMass | 批量订阅 |
| StreamStore.updateLocalPublishState | 更新本地音频和视频发布状态 |
| StreamStore.updateRemotePublishState | 更新远端音频和视频发布状态 |
| StreamStore.publishStreamToCdn | 旁路推流,将当前已发布的流推送到CDN |
| StreamStore.publishScreenShare | 创建屏幕共享流 |
| StreamStore.unpublishScreenShare | 取消发布屏幕共享流 |
| StreamStore.setLatencyLevel | 设置延时等级 |
| 属性 | 描述 |
|---|---|
| StreamStore.streamByStreamUuid | 流列表 |
| StreamStore.streamByUserUuid | 用户流列表 |
| StreamStore.streamVolumes | 音量列表 |
| StreamStore.localCameraStreamUuid | 本地摄像头视频流 UUID |
| StreamStore.localMicStreamUuid | 本地麦克风音频流 UUID |
| StreamStore.localShareStreamUuid | 本地屏幕共享视频流 UUID |
| StreamStore.shareStreamToken | 本地屏幕共享 Token |
User Store
UserStore 类用于管理用户。
| 方法 | 描述 |
|---|---|
| UserStore.fetchUserList | 获取用户列表 |
| UserStore.kickOutOnceOrBan | 将用户踢出房间 |
| UserStore.updateUserProperties | 更新用户自定属性 |
| 属性 | 描述 |
|---|---|
| UserStore.localUser | 本地用户 |
| UserStore.users | |
| UserStore.userCount | 房间内用户数 |
| UserStore.teacherList | 老师列表 |
| UserStore.studentList | 学生列表 |
| UserStore.assistantList | 助教列表 |
| UserStore.rewards | 奖励信息字典 |
Connection Store
ConnectionStore 类用于管理连接状态。
| 方法 | 描述 |
|---|---|
| ConnectionStore.checkIn | 设置载入数据 |
| ConnectionStore.initialize | 初始化 RteEngine |
| ConnectionStore.joinClassroom | 加入房间 |
| ConnectionStore.joinRTC | 加入 RTC 频道 |
| ConnectionStore.leaveClassroom | 离开房间 |
| ConnectionStore.leaveRTC | 离开 RTC 频道 |
| ConnectionStore.addCloudProxyObserver | 添加一个云代理观察者 |
| ConnectionStore.removeCloudProxyObserver | 移除一个云代理观察者 |
| 属性 | 描述 |
|---|---|
| ConnectionStore.classroomState | 房间连接状态 |
| ConnectionStore.rtcState | RTC 连接状态 |
| ConnectionStore.scene | 房间对象 |
| ConnectionStore.engine | RTE 引擎 |