发版说明
本页提供灵动课堂的发版说明。
2.8.100 版
灵动课堂 2.8.100 版于 2024 年 2 月 6 日发布。
该版本优化了网络链接,开放了 RTM Cloud Proxy 配置。
该版本修复了如下问题:
- Sequence 补偿机制异常。
- 大班课学生进出房间后上台状态紊乱。
2.8.81 版
灵动课堂 2.8.81 版于 2023 年 12 月 11 日发布。
该版本修复了偶现的进入房间时,Android 设备状态异常的问题。
2.8.80 版
灵动课堂 2.8.80 版于 2023 年 11 月 9 日发布。
该版本新增如下功能:
- 支持移动端上传课件。
- 用户拒绝首次登录弹窗后不要关闭应用。
- 静态双清单。
2.8.61 版
灵动课堂 2.8.61 版于 2023 年 8 月 25 日发布。
该版本新增如下功能:
- 增加网络状态实时提示。
- 增加媒体错误回调。
2.8.50 版
灵动课堂 2.8.50 版于 2023 年 7 月 13 日发布。
该版本进行了如下优化:
- 优化了大班课个人数据同步机制。
- 降低了加入房间的时长。
2.8.40 版
灵动课堂 2.8.40 版于 2023 年 6 月 26 日发布。
该版本优化了教室内数据传输效率。
2.8.30 版
灵动课堂 2.8.30 版于 2023 年 5 月 12 日发布。
该版本进行了如下优化:
- 优化获取远端 PCM 音频裸流的逻辑。
- 教室 UI 语言默认为设备操作系统语言。
该版本修复了如下问题:
- 白板关闭后依然统计用量。
- 用户在线状态显示错误。
该版本 API 变更如下:
- 新增回调
onAudioRawDataBeforeMixed
和onAudioRawDataMixed
。 FcrAudioRawDataPosition
新增枚举值8: beforeMixed
和4: mixed
。
2.8.21 版
灵动课堂 2.8.21 版于 2023 年 3 月 28 日发布。
该版本进行了以下优化:
- 优化了渲染逻辑,优化了 UI 交互体验。
- 加强了硬件和软件兼容性,包括适配了 Android 13 OS。
- 加强了数据加密机制,提升了数据传输的安全性。
该版本修复了以下问题:
- 学生在大班课课堂中获取白板权限后,退出课堂时,偶现白板授权没有自动取消。
- 偶现视频窗口变大后没有切换到大流。
- 偶现视频画面翻转。
- 偶现首次进入课堂时暗黑模式不生效。
2.8.20 版
灵动课堂 2.8.20 版于 2023 年 2 月 28 日发布。
该版本关闭了若干优先级低且打印频繁的日志,减少了该部分日志的上报。
该版本修复了偶现课堂中房间属性变更消息丢失的问题。
2.8.11 版
灵动课堂 2.8.11 版于 2023 年 1 月 13 日发布。
该版本修复了如下问题:
- PC 端已知缺陷。(Web, Electron)
- 移动端已知缺陷。(Android,iOS)
2.8.10 版
灵动课堂 2.8.10 版于 2023 年 1 月 10 日发布。
支持设置屏幕共享的同时分享屏幕共享输入源的音频。
修改startScreenShareCapture
方法,在 startScreenShareCapture
中新增参数 audioDeviceName
和 withAudio
,使用方法详见 API 参考。(Web/Electron)
2.8.0 版
灵动课堂 2.8.0 版于 2022 年 12 月 12 日发布。
该版本新增如下功能:
- 在线监考场景,详见 Proctor SDK API 文档。(Web, Electron, iOS)
- 美颜、虚拟背景、音频降噪能力,详见 Classroom SDK API 文档。(Web, Electron)
- 灵动课堂 Demo 新增以下功能:
- 注册、登录、注销流程。
- 课程列表页。
- 课后学情报告,包含以下信息:
- 课程信息
- 课程录像
- 课程报表
- 学生出席情况追踪
- 学生互动追踪
- 高亮标记发言人能力。
- 白板局部擦除能力。
灵动课堂 Demo 优化以下功能:
- 优化加入房间、创建房间流程,支持提前预约房间。
- 优化课件转换效率。
- 优化白板工具栏,更适配触摸屏设备。
优化 Core 层代码设计。
2.7.x 版
灵动课堂 2.7.x 版于 2022 年 8 月 5 日发布。
该版本新增功能和优化如下:
- 支持设置课堂界面的显示模式:明亮、暗黑
- 支持设置课堂界面的语言:中文、英文(仅 iOS/Web/Electron)
- 在灵动课堂 Demo 中新增注册登录页(仅 iOS)
- 优化灵动课堂 UI 层代码,方便开发者自定义 UI 样式
2.6.x 版
灵动课堂 2.6.x 版于 2022 年 6 月 30 日发布。
2.6.x 版新增以下功能 :
- 截图(仅 Electron):2.6.x 版在一对一、小班课和大班课场景中新增截图功能。老师或助教可在工具栏选择直接截取屏幕内容或隐藏教室截图。截图会居中显示在白板上。
- 自动分组:对于分组讨论功能,2.6.x 版支持自动分组。老师可设置小组数量,系统随机将全班学生平均分配给各个小组。
- 拖拽图片到白板(Web/Electron):老师或助教可在 PC 端将本地图片拖动到白板区域,松开鼠标即可将该图片插入白板。
- 保存板书:2.6.x 版支持老师或助教通过工具栏将板书以 JPG 格式保存到本地。
- 上传在线课件:2.6.x 版支持老师在“我的资源”中上传在线课件,例如 YouTube 链接、Google Drive 链接。在线课件的后缀名默认为
.alf
(agora link file)。上传成功后,老师点击云盘中在线课件,即可打开该课件。
2.6.x 版修复了以下问题:
- iOS 端接收全体消息时出现 crash。
- 小班课中,iOS 端的老师未选择画笔,但是在白板上涂写却能出现红色线条。
- 小班课中,iOS 端的老师双击设置、聊天、花名册按钮,这些按钮 的蓝色高亮状态不会消失。
- 小班课中,Android 端的学生进入某一小组后,邀请老师进入同一小组,但是老师进入的是另一个小组。
- (全平台)小班课中,老师在学生进入教师前开启分组又结束分组,学生进入后再次开启分组,必现 500 报错。
2.5.x 版
灵动课堂 2.5.x 版于 2022 年 5 月 20 日发布。
2.5.x 版支持老师在教室内的组件区域自由拖动老师和学生的视频窗口,并支持双击放大或缩小视频窗口。
2.5.x 版在小班课场景的页面设置中增加按钮,支持老师隐藏讲台区域。隐藏后,视频窗口关闭,所有讲台上学生自动下台,白板按班型的固定比例居中中放到最大。
该版本进行了如下改进:
- Electron 端屏幕分享优化:自 2.5.x 版起,Electron 端老师可在课堂中共享桌面或应用窗口,还可指定任意学生进行屏幕共享。
- 分组讨论优化:2.5.x 版优化了分组讨论功能的 UI,并新增复制笔记到分组功能。
2.4.x 版
灵动课堂 2.4.x 版于 2022 年 4 月 24 日发布。
2.4.x 版在小班课场景的工具箱中新增分组讨论功能。支持手动分组:老师手动将每个学生分配至各个小组。一个课堂支持最多 20 个小组,每组最多 17 人。小组内支持实时音视频、消息、白板、屏幕共享等功能。
分组讨论过程中,老师和助教可以随意进出各个小组;老师可发送全员消息,所有小组均可收到。
2.4.x 版将 Web 和 Electron 平台所支持的老师端能力复制到 Android 和 iOS 平台。
移动端老师暂不支持以下功能:
- 屏幕共享
- 答题器
- 投票器
- 倒计时
2.4.x 版支持在一对一、小班课、大班课三个场景中关闭白板功能。关闭后,白板区域会全屏显示老师的视频。
该版本进行了如下改进:
- 组件优化:2.4.x 版优化了答题器、投票器、倒计时三个组件的底层技术方案。此外,2.4.x 版支持开发者通过 RESTful API 获取答题器和投票器相关数据,详见 RESTful API 文档。
- Web 端兼容性改进:2.4.x 版新增对桌面端 Firefox 浏览器的支持。
- 云盘优化:2.4.x 版优化了云盘的交互体验和 UI 样式。
- 白板优化:2.4.x 版新增激光笔、Undo、Redo、一键清屏功能。
- 消息聊天功能优化:
- Web、Android、iOS 端支持在实时消息区域上传和发送本地图片。
- Electron 端支持在实时消息区域截图、上传和发送本地图片。
该版本修复了如下问题:
- 修复了某些情况下课件、组件轨迹同步不正确的问题。
- 修复了进入房间后 IM 登录失败的问题。
- 修复了云盘上传不支持格式导致加载失败的问题。
- 修复 Safari 上小班课的视频清晰度低的问题。
2.1.0 版
灵动课堂 2.1.0 版于 2022 年 1 月 21 日发布。该版本有了以下改进:
- 互动直播大班课场景中的课堂人数上限提升至 5000 人。
- 支持在课堂内打开 PPT 课件后显示预览缩略图和动画。
2.0.0 版
灵动课堂 2.0.0 版于 2021 年 12 月 29 日发布。
在 2.0.0 版中,声网优化了声网 Classroom SDK 的内部架构,重新设计了 Edu Context API,提高了 API 的易用性,具体如下:
- 重新划分 Context,优化功能模块的抽象,解耦功能模块。
- 改进 API 和参数的命名规范。
- 提升 API 组合调用的灵活度。
- 提供更多功能扩展接口,支持业务功能的灵活扩展。
具体请查看 2.0.0 Edu Context API 文档。
答题器和投票器
为加强课堂互动性,2.0.0 版在课堂工具栏中新增以下工具:
- 答题器:适用于课堂中老师提问、全班学生一起答题的场景。老师端可在答题器中添加或减少选项数量并设置正确选项,然后发起答题。学生端收到题目选项后可进行选择。答题结束后,可统计并展示提交人数和正确率。
- 投票器:适用于课堂中老师向全班学生征集意见的场景。老师端可在投票器中设置投票主题、选项以及投票的起始和截止时间,然后发起投票。投票结束后,可统计并展示投票结果。
2.0.0 版进行了以下改进:
- 优化了学生举手申请上讲台、花名册、课堂提示信息等各个功能模块的业务流程和 UI 样式。
- 互动直播大班课场景中的课堂人数上限提升至 3000 人。
1.1.5 版
该版本于 2021 年 9 月 15 日发布。
新版 IM
1.1.5 采用新版 IM,改进了课堂内实时聊天体验,支持文字和表情聊天、全体和单个禁言、公告栏和用户列表等功能。为使用新版 IM 功能,升级至 1.1.5 前,请注册环信即时通讯云并在环信开发者管理后台创建应用,然后参考配置 aPaaS 服务文档在声网控制台配置 IM 相关字段。
1.1.5 新增媒体流加密功能以确保实时音视频传输过程的安全性。灵动课堂默认不对媒体流进行加密。如需启用媒体流加密,你可在调用 launch
接口时,通过 mediaOptions
里的 encryptionConfig
选择加密模式并设置密钥。同一教室内所有老师和学生必须使用相同的加密模式和密钥。
1.1.5 支持开发者自行设置视频编码参数,包含视频宽高、帧率和码率。如需修改视频编码参数,你可在调用 launch
接口时通过 videoEncoderConfig
参数进行设置。
1.1.5 在小班课场景中新增学生视频轮播功能。老师或助教开启此功能后,学生按照指定的时间间隔轮流上台。
1.1.5 支持限定访问区域,将音视频和消息数据的传输限定在某一区域范围内。你可在调用 launch
接口时设置 region
参数来指定区域,可设为 CN
(中国大陆)、AP
(亚太地区)、EU
(欧洲)、NA
(北美)。
1.1.5 支持开发者自行设置收流端延时级别。默认情况,收流端延时级别为超低延时。你可在调用 launch
接口时通过 latencyLevel
参数切换收流端延时级别:
- 超低延时:发流端与收流端的延时为 400 ms - 800 ms。
- 低延时:发流端与收流端的延时为 1500 ms - 2000 ms。
声网针对不同级别的延时收取不同的音视频费用。
1.1.5 支持开发者自行控制学生上台后是否自动发送发送音频或视频流。默认情况下,学生上台后不发送音视频流。你可在调用 launch
接口时通过 streamState
参数更改默认行为。
1.1.5 新增课件设备检测和视频预览能力,开发者可通过新增的 Media Context API,自行开发课前检测模块,方便学生在上课前确认本地摄像头、麦克风设备是否工作以及预览本地音视频。
PPT 展示优化
为优化学生端的 PPT 展示,1.1.5 在 AgoraEduLaunchConfig
中新增 boardFitMode
用于设置 PPT 显示模式。默认情况下,白板内容显示模式为 fit,等比缩放 PPT 以保证内容的完整显示。你可在调用 launch
接口时将 boardFitMode
更换为 Retain
,PPT 尺寸会以本地记录的上一次学生手动调整的大小为准。
1.1.2.3 版
该版本于 2021 年 7 月 27 日发布,进行了一些内部改进。
1.1.2 版
该版本于 2021 年 6 月 17 日发布。
1.1.2 新增倒计时工具。老师可在工具箱中打开倒计时工具并设置倒计时数值。老师点击开始倒计时后学生端会出现倒计时面板。
1.1.2 支持学生在课堂内开启和关闭本地摄像头、麦克风和扬声器以及切换前置和后置摄像头。Edu Context 中新增 DeviceContext
和 IDeviceHandler
类,提供本地设备相关方法和回调。
1.1.2 支持老师开始屏幕共享后在共享内容上使用白板基础绘画工具进行标注。
1.1.2 支持开发者自定义用户属性和课堂属性,同时支持更新属性和监听属性更新。例如,开发者可通过自定义用户属性设置用户头像。具体改动如下:
- 课堂属性:
RoomContext
中新增updateFlexRoomProps
方法,用于新增或更新自定义课堂属性。IRoomHandler
中新增onFlexRoomPropsInitialized
和onFlexRoomPropertiesChanged
回调,用于监听初始课堂自定义属性和课堂属性的变更。
- 用户属性:
AgoraEduLaunchConfig
中新增userProperties
字段,用于在启动课堂时传入自定义用户属性。UserContext
中新增updateFlexUserProperties
方法,用于新增或更新自定义用户属性。IEduUserHandler
中新增onFlexUserPropertiesChanged
回调,用于监听课堂属性的变更。
1.1.2 支持老师在课堂白板上展示 HTML5 课件。
1.1.0 版
该版本于 2021 年 4 月 30 日发布。
SDK 集成方式变更
自 1.1.0 起,通过 JitPack 集成声网 Classroom SDK,需要在项目的 build.gradle 文件中添加以下库:
allprojects {
repositories {
...
maven { url'http://maven.aliyun.com/nexus/content/groups/public' }
maven { url 'https://jitpack.io' }
}
}
自 1.1.0 起,声网 Classroom SDK 将灵动课堂的 UI 代码和核心业务逻辑隔离开来,独立成 UI Kit 和 Edu Core,并通过 Edu Context 为开发者提供实现灵动课堂业务功能的能力。不同 Context 代表灵动课堂中各个功能模块,详见声网 Edu Context API 参考。
开发者无需深入学习灵动课堂的核心业务逻辑,只需基于 UI Kit 修改 UI 组件,调用相应 Context 提供的方法和回调,即可自定义灵动课堂各个功能模块的 UI,使在线互动课堂更为个性化。详见自定义课堂 UI。
自 1.1.0 起,灵动课堂支持扩展应用 ExtApp,能够帮助开发者根据实际需求在灵动课堂内嵌入自己实现的应用,例如倒计时、骰子等,详见通过 ExtApp 自定义插件。
为提升课堂学习效果,灵动课堂 1.1.0 新增课件模块。老师可通过灵动课堂客户端上传 PPT、DOC、PDF 等格式的文件。灵动课堂客户端会对后缀名为 "ppt"
、"pptx"
、"doc"
、"docx"
、"pdf"
的文件默认开启文件转换,以用于课堂内白板展示。开发者还可通过灵动课堂云服务 RESTful API 配置并上传文件至云盘,并获取课堂内云盘文件变更事件,详见灵动课堂 RESTful API。
1.1.0 中,上传至云盘的文件默认储存在声网的阿里云 OSS 账号中。如开发者想要将文件存储至自己的 OSS 账号中,需要更新声网控制台 aPaaS 配置中的白板 JSON 配置对象,详见灵动课堂前提条件中在声网控制台配置灵动课堂一节。
此外,1.1.0 还支持课件预加载。声网 Classroom SDK 新增 configCoursewares
和 downloadCoursewares
方法,用于配置并预加载课件。成功调用后,客户端会将云盘中的课件缓存至本地。详见声网 Classroom SDK API 参考。
灵动课堂 1.1.0 支持页面录制,能够将指定 URL 的页面内容和音频混合录制为一个 MP4 音视频文件,实现音视频内容、白板内容、课件内容同步录制。开发者可通过灵动课堂云服务 RESTful API 配置并发起页面录制,详见灵动课堂 RESTful API。
对于在线互动小班课,1.1.0 新增“讲台上”和“讲台下”两种状态,支持老师点名学生上讲台功能。老师可在课堂内点名学生“上讲台”发言,打开学生的音视频采集设备。默认上台人数上限为 6 人。
为加强课堂管理,灵动课堂 1.1.0 新增人员列表功能,展示课堂中所有学生的名称、上下台状态、摄像头和麦克风开关状态、奖励个数等信息。老师和助教可通过用户列表进行邀请学生上下台、白板授权、开关学生的摄像头和麦克风、授予奖励、踢人等操作。
灵动课堂 1.1.0 在客户端声网 Classroom SDK 的 launch
方法中新增以下参数:
startTime
: 设置课堂开始时间(毫秒),以第一个进入课堂的用户传入的参数为准。duration
: 设置课堂持续时间(秒),以第一个进入课堂的用户传入的参数为准。
为增强课堂互动,灵动课堂 1.1.0 新增课堂奖励功能,老师可在学生答题后给予学生奖励。开发者可通过灵动课堂云服务 RESTful API 获取奖励变更事件,详见灵动课堂 RESTful API。
为满足更多在线教育需求,1.1.0 中 1 对 1 互动教学、在线互动小班课、互动直播大班课三大场景的 UI 和页面交互进行了整体优化,将视频区域、白板区域、实时聊天区域窗口化。
1.1.0 优化了课堂内白板的书写体验。
1.0.0 版
1.0.0 于 2021 年 1 月 20 日发布。这是灵动课堂的首个版本,支持以下三种教学场景:
- 1 对 1 互动教学:1 位老师对 1 名学生进行专属在线辅导教学,老师和学生进行实时音视频互动。
- 1 对 N 在线小班课:1 位教师对 N 名学生(2 ≤ N ≤ 16)进行在线辅导教学,老师和学生进行实时音视频互动。
- 互动直播大班课:1 位老师进行在线教学,多名学生实时观看和收听,学生人数无上限。上课过程中,学生可以“举手”请求发言,与老师进行实时音视频互动。
该版本主要包含以下功能:
- 实时音视频互动
- 实时消息互动
- 互动白板
- 课件上传
- 教室管理
- 屏幕共享
- 录制回放