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 引擎 |