CHANGELOG.md 13.8 KB
Newer Older
root's avatar
root committed
1 2 3 4
Change Log
==========

- 标记为 **粗体** 的改动需要特别留意;
root's avatar
1.0.0  
root committed
5
- 被标记 `DEPRECATED` 的代码 **将在大版本升级时移除**
root's avatar
update  
root committed
6
- 带有 `alpha``beta``rc` 等字样的版本,代码和功能都不稳定,**请勿随意升级**
root's avatar
1.0.0  
root committed
7

戴曦嘉's avatar
2.10.2  
戴曦嘉 committed
8 9 10 11
## 2.10.2

- 支持抢红包灵敏度处理。

戴曦嘉's avatar
2.10.1  
戴曦嘉 committed
12 13 14 15
## 2.10.1

- 支持小班课云插播。

16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
## 2.10.0

### 体积优化

- 合并 IJK 播放器,减少 SDK 大小。
- 支持 AVSDK 可选集成,减少 SDK 大小。

### 新增功能

- 聊天支持多条消息置顶,参考 `BJLChatVM``stickyMessageList`
- 支持 webrtc 课程设置镜像模式。
- 支持抽奖功能,参考 `BJLRoomVM``普通抽奖 和 口令抽奖` 模块。
- 支持红包雨在抢完后立即结束,减少无用的抢红包时间。

### 功能优化

- webrtc 混流使用通话音量,优化体验。
- 优化用户音视频状态信令处理,仅台上用户的音视频状态有效,参考 `audioState``videoState`
- 支持自定义信令的发送最大每分钟 30 条。

### 问题修复

- 修复计时器暂停时的剩余时间不正确的问题。
- 禁用课件中存在重定向链接时会跳转到 safari 的行为。
- 修复未打开麦克风时,被其他应用占用麦克风时,仍然会停止播放的情况。
- 修复聊天信息偶现崩溃问题。
- 修复文字画笔在触发了画布以外的其他手势的取消状态的情况下,无法调起文字输入框的情况。
- 修复 webrtc 混流静音无效的情况。

戴曦嘉's avatar
2.9.4  
戴曦嘉 committed
45 46 47 48
## 2.9.4

- 优化 webrtc 加入、离开频道的逻辑,根据实际情况自动加入、离开频道。

戴曦嘉's avatar
2.9.3  
戴曦嘉 committed
49 50
## 2.9.3

戴曦嘉's avatar
戴曦嘉 committed
51
- 支持随机选人,参考 `BJLRoomVM``随机选人` 模块。
戴曦嘉's avatar
2.9.3  
戴曦嘉 committed
52 53 54 55 56
- 支持多种奖励(点赞)方式,参考 `BJLRoomVM``awardKey``BJLAward`
- 支持自动上报部分崩溃信息。
- 支持腾讯 webrtc 混流(合流)大班课。
- 优化混流(合流)大班课互动体验,音视频与互动同步。

戴曦嘉's avatar
2.9.2  
戴曦嘉 committed
57 58
## 2.9.2

戴曦嘉's avatar
戴曦嘉 committed
59
- 支持全员,分组点赞,参考 `BJLRoomVM` 的点赞模块。
戴曦嘉's avatar
2.9.2  
戴曦嘉 committed
60 61 62 63
- webrtc 教室支持设置推流方向。
- 支持接收老师控制教室只看老师,助教,自己,参考 `BJLPlayingVM``disableAutoPlayVideoExceptPresent` 的属性。
- 支持回调当前是否有选中画笔,参考 `BJLDrawingVM``hasSelectedShape` 属性。

戴曦嘉's avatar
戴曦嘉 committed
64 65 66 67 68 69
## 2.9.1

- 非纯 webrtc 教室支持主讲人切换。
- 升级第三方 webrtc 版本。
- 增加小班课教室颜色配置。

戴曦嘉's avatar
戴曦嘉 committed
70 71 72 73 74 75 76 77 78 79 80
## 2.9.0

- 小班课支持动态课件可交互,参考 `BJLSlideshowUI``updateWebPPTInteractable` 方法。
- 优化画笔同步方式。
- 收到下课时,自动停止云端录制。
- 优化 webrtc 合流,支持助教上课。
- 修复教室销毁时 AVSDK 偶现的崩溃。
- 修复三角形画笔超出边界时显示不正确的问题。
- 修复 H5 课件断网重连偶现画笔不显示的问题。
- 修复 AVSDK 下课后上课偶现拉流黑屏的问题。

戴曦嘉's avatar
2.8.2  
戴曦嘉 committed
81 82 83 84 85 86 87 88 89 90 91 92
## 2.8.2

- 优化 TCP 拉流体验,减少偶现崩溃。 
- 支持只看老师,助教和自己的视频的配置。
- 支持动态切换 webrtc 教室类型。
- 修复举手时长配置无效的问题。
- 优化 APP 在 inactive 状态下的体验。

## 2.8.1

- 修复大班课默认未支持高清的问题。

戴曦嘉's avatar
戴曦嘉 committed
93
## 2.8.0
戴曦嘉's avatar
2.7.5  
戴曦嘉 committed
94

戴曦嘉's avatar
戴曦嘉 committed
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
### 问题修复

- 修复线上双师教室偶现的一直处于切换教室中的问题。
- 修复 AVSDK 移除视频的偶现的崩溃。
- 修复偶现的在切换线程过程中对象销毁时,执行了对销毁的对象进行 weak 操作的崩溃。
- 修复用户退到后台时未处理下台信令导致回到前台时未下台的问题。
- 修复由于配置了禁止举手导致不能打开音视频的问题。
- 修复偶现的禁用自动息屏失效问题。

### 新增功能

- 支持设置教室全体镜像翻转,参考 `BJLRecordingVM``sendEncoderMirrorMode:` 方法。
- 新增用户的音视频状态,参考 `BJLUser``audioState``videoState` 属性。
- 声网支持推双路视频流。

### 功能优化

- 水印显示优化,支持不同显示模式下,保持水印显示在视频区域,参考 `BJLPlayingVM``updateWatermarkWithUser:size:videoContentMode:` 方法。
- 优化麦克风和摄像头授权,优化首次开启音视频体验。
- 优化 tcp 教室互动体验。
戴曦嘉's avatar
2.7.5  
戴曦嘉 committed
115

戴曦嘉's avatar
戴曦嘉 committed
116 117 118 119 120 121 122 123
## 2.7.6

- 修复三角形画笔在超出边界后显示不正确的问题。

## 2.7.5

- 修复动态课件偶现自动翻页的问题。

戴曦嘉's avatar
戴曦嘉 committed
124 125
## 2.7.4

戴曦嘉's avatar
戴曦嘉 committed
126
### 新增功能
戴曦嘉's avatar
戴曦嘉 committed
127 128 129 130 131 132 133 134 135 136 137 138 139

- 增加聊天消息置顶功能,参考 `BJLChatVM` 的消息置顶模块。
- 增加播放视频时切换播放的视频的清晰度的接口,目前默认播放高清晰度的视频,建议在不需要高清晰度的情况下,切换成低清晰度的视频,参考 `switchVideoDefinitionWithUser:useLowDefinition:`
- 全面支持 H5 课件。
- 支持获取用户未开启摄像头时自定义背景图,参考 `BJLUser``cameraCover` 属性。
- 支持配置小班课是否允许 32 位系统的设备进入教室,参考 `BJLFeatureConfig``maxStudentsCountFor32BitDevice`

### bug修复

- 修复 webrtc 课程优势声音会变小的问题。
- 修复 H5 课件偶现自动翻页的问题。
- 修复了部分崩溃和已知问题。

戴曦嘉's avatar
戴曦嘉 committed
140
### 功能优化
戴曦嘉's avatar
戴曦嘉 committed
141 142 143 144 145 146

- 文字画笔支持换行输入。
- 配置了自动开启云端录制的情况下,SDK自动开启云端录制,参考`BJLFeatureConfig``autoStartServerRecording`
- 优化摄像头和麦克风授权问题,支持设置 `BJLRecordingVM``checkMicrophoneAndCameraAccessCallback` 回调统一处理。
- 优化课件翻页限制,禁止未授权的学生以及无权限的助教操作课件。

戴曦嘉's avatar
2.7.3  
戴曦嘉 committed
147 148
## 2.7.3

戴曦嘉's avatar
戴曦嘉 committed
149
- 修复切换 720 清晰度崩溃的问题。
戴曦嘉's avatar
2.7.3  
戴曦嘉 committed
150

戴曦嘉's avatar
2.7.2  
戴曦嘉 committed
151 152 153 154 155 156 157
## 2.7.2

### bug 修复

- 修复 AVSDK 崩溃。
- 修复 webrtc 崩溃。
- 修复聊天文字表情混排时偶现解析崩溃。
戴曦嘉's avatar
戴曦嘉 committed
158
- 修复解除全体禁言时导致开启了麦克风的学生被关闭麦克风的问题。
戴曦嘉's avatar
2.7.2  
戴曦嘉 committed
159 160 161 162

### 新增功能

- 直播增加阿里云上报。
戴曦嘉's avatar
戴曦嘉 committed
163
- 新增课程到期被踢出教室的错误码,参考 `BJLErrorCode``BJLErrorCode_enterRoom_timeExpire`
戴曦嘉's avatar
2.7.2  
戴曦嘉 committed
164
- 问答字数限制调整为 280。
戴曦嘉's avatar
戴曦嘉 committed
165 166
- 小班课支持 h5 课件使用,参考 `BJLDocumentPageInfo``isWebDoc`
- 大班课支持配置禁止学生课件本地翻页,参考 `BJLFeatureConfig``disableStudentChangePPTPage`
戴曦嘉's avatar
2.7.2  
戴曦嘉 committed
167 168 169 170 171 172

### 功能优化

- 大班课上麦学生进入后台不从发言列表中移除。

## 2.7.1
戴曦嘉's avatar
戴曦嘉 committed
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

### API 废弃

- 禁止问答用户列表字典属性修改为数组属性,参考 `BJLRoomVM``fobidQuestionUserNumberList` 废弃,使用 `forbidQuestionList`
- 废弃以前的一对一和普通小班课教室类型,新增基础一对一教室类型,参考 `BJLConstants.h` 文件中枚举值 `BJLRoomType` 废弃 `BJLRoomType_1to1``BJLRoomType_smallClass``BJLRoomType_1toN`, 新增 `BJLRoomType_1vNClass` 替代 `BJLRoomType_1toN`,新增 `BJLRoomType_1v1Class`
- 重命名专业小班课一对一类型,参考 `BJLConstants.h` 文件中 枚举值 `BJLIcTemplateType` 废弃 `BJLIcTemplateType_1to1`,使用 `BJLIcTemplateType_1v1` 替代。

### 新增功能

- 支持腾讯 webrtc 课程。
- 支持专业小班课使用不同颜色区分分组用户,参考 `BJLOnlineUsersVM` 分组模块。
- 支持配置动态课件加载失败时是否使用静态课件,参考 `BJLSlideshowUI``shouldSwitchNativePPTBlock`
- 新增 webrtc 课程流畅率统计。

### 功能优化

- avsdk 音视频优化。
- 大班课学生发言状态下退到后台,保持发言状态,不从视频列表中移除。
- 文字画笔点击其画布他区域结束当前的画笔编辑,而不是更新文字画笔位置,支持双击再次编辑文字画笔。
- 停止监课截图。
- 优化图片画笔对于有旋转方向的图片的支持。
- 隐藏用户名为手机号的手机号中间4位数字。

### bug 修复

- 修复画笔在使用过程中取消了画笔权限导致的无法显示的问题。
- 修复开视频前设置使用后置摄像头无效的问题。
- 修复聊天时可能存在聊天内容为 nil 导致的崩溃。
凡义's avatar
凡义 committed
201
- 修复线上双师的班型,学生从小班进入大班时,分组变为0的问题。
戴曦嘉's avatar
戴曦嘉 committed
202

戴曦嘉's avatar
戴曦嘉 committed
203 204 205 206
## 2.6.2

- 增加合流时被合流的音视频列表,参考 `BJLPlayingVM``mixedPlayingUsers``extraMixedPlayingUsers`

戴曦嘉's avatar
2.6.1  
戴曦嘉 committed
207 208
## 2.6.1

戴曦嘉's avatar
戴曦嘉 committed
209
- 支持配置是否允许 32 位设备进入教室,参考 `BJLRoom``maxAllowedActiveStudentsCountFor32BitDevice` 属性,默认不允许。
戴曦嘉's avatar
2.6.1  
戴曦嘉 committed
210

戴曦嘉's avatar
2.6.0  
戴曦嘉 committed
211 212 213 214
## 2.6.0

- 画笔支持马克笔,设置 `BJLDrawingVM``strokeAlpha` 属性。

凡义's avatar
凡义 committed
215 216 217
- 支持展示文字画笔输入过程。 

- 解决tcp拉流花屏的问题。
戴曦嘉's avatar
2.6.0  
戴曦嘉 committed
218

戴曦嘉's avatar
2.5.0  
戴曦嘉 committed
219 220 221 222 223 224
## 2.5.0

- 优化音视频体验。

- 支持**任意**用户发送自定义广播信令,参考 `BJLRoomVM``sendCustomizedBroadcast` 方法。

戴曦嘉's avatar
戴曦嘉 committed
225 226 227 228 229 230 231 232 233 234
## 2.4.0

- 支持文字表情混排,参考 `BJLMessage` 中的内容。

- 支持聊天撤回,参考 `BJLChatVM``revokeMessage` 方法。

- 增加真正上课开始时间,以老师最近一次开始上课的时间为准,参考 `BJLRoomVM``classStartTimeMillisecond` 属性。

- 增加大班课主视频和 PPT 位置切换回调,参考 `BJLRoomVM``didVideoExchangePositonWithPPT` 方法。

戴曦嘉's avatar
2.3.1  
戴曦嘉 committed
235 236
## 2.3.1

戴曦嘉's avatar
戴曦嘉 committed
237
- 修复大班课分组公告偶现无数据的问题。
戴曦嘉's avatar
2.3.1  
戴曦嘉 committed
238

戴曦嘉's avatar
2.3.0  
戴曦嘉 committed
239 240 241 242 243 244 245 246
## 2.3.0

- 增加开关麦克风和摄像头的权限检测回调,参考 `BJLRecordingVM``checkMicrophoneAndCameraAccessCallback`

- 支持课后评价,参考 `BJLRoomVM``evaluationRequest`

- 增加 WebRTC 首帧到达回调,参考 `BJLPlayingVM``playingUserDidFinishLoadingVideo`

huangjie's avatar
huangjie committed
247 248
## 2.2.1

戴曦嘉's avatar
2.3.0  
戴曦嘉 committed
249
- 老师、学生麦克风采集音量支持后台配置。
huangjie's avatar
huangjie committed
250

戴曦嘉's avatar
2.3.0  
戴曦嘉 committed
251
- 画笔支持旋转。
huangjie's avatar
huangjie committed
252 253
	- release 环境目前仅支持图片画笔旋转,debug 环境支持所有画笔类型旋转。

戴曦嘉's avatar
2.3.0  
戴曦嘉 committed
254
- 更新声网依赖版本为 2.8.0。
huangjie's avatar
huangjie committed
255

戴曦嘉's avatar
2.3.0  
戴曦嘉 committed
256
- AVSDK:学生默认上行链路配置与老师统一,保证老师和上麦学生的交互效果。
huangjie's avatar
huangjie committed
257

戴曦嘉's avatar
2.3.0  
戴曦嘉 committed
258
- 大班课支持计时器。
huangjie's avatar
huangjie committed
259

戴曦嘉's avatar
2.3.0  
戴曦嘉 committed
260
- 解决 AVSDK 内存泄漏问题。
huangjie's avatar
huangjie committed
261 262 263

- 解决专业版小班课举手被同意后无法打开音视频的问题。

戴曦嘉's avatar
戴曦嘉 committed
264 265 266 267 268
## 2.2.0

- 普通大班课(`self.room.featureConfig.isWebRTC``NO`)支持设置视频采集方向,参考 `BJLRecordingVM``videoRecordingOrientation` 属性,可在监听到进入教室成功时设置,上课过程中如需切换,关闭采集后重新打开也可生效;

- 支持设置视频采集、播放画面的显示模式;
戴曦嘉's avatar
2.3.0  
戴曦嘉 committed
269 270
  - 通过设置 `BJLRecordingVM``videoContentMode` 属性修改本地采集画面的显示模式,可在监听到进入教室成功时设置,上课过程中如需切换,关闭采集后重新打开也可生效;
  - 通过设置 `BJLPlayingVM``videoContentMode` 属性修改播放画面的显示模式,可在监听到进入教室成功时设置,上课过程中如需切换,关闭采集后重新打开也可生效。
戴曦嘉's avatar
戴曦嘉 committed
271 272 273 274 275 276 277 278 279

 - 支持专业小班课 1V1 模板,参考 `BJLIcTemplateType_1to1`,支持辅助摄像头和屏幕共享授权,参考 `BJLRecordingVM``音视频采集权限` 部分
 
 - 支持获取课后表情报告,后台需要配置才能生成报告,参考 `enableExpressExport`。使用流程参考 `BJLRoomVM``表情报告` 部分。

- 修复大班课使用画笔时,双击会导致静态PPT放大的问题。

- 修复小班课未上台用户能够打开音视频的问题。

戴曦嘉's avatar
戴曦嘉 committed
280
- avsdk 课程支持流畅率上报
凡义's avatar
凡义 committed
281

huangjie's avatar
huangjie committed
282
## 2.1.0
戴曦嘉's avatar
1.3.10  
戴曦嘉 committed
283

huangjie's avatar
huangjie committed
284
### 音视频
戴曦嘉's avatar
1.3.10  
戴曦嘉 committed
285

戴曦嘉's avatar
戴曦嘉 committed
286 287 288
- 普通大班课支持全局静音。
	- `BJLMeidaVM``needMutePlayingAudio` 属性表示是否静音,通过 `updateNeedMutePlayingAudio:` 方法控制。

huangjie's avatar
huangjie committed
289 290 291
- 支持进入声网教室。
	- `BJLFeatureConfig``playerType` 属性为 `BJLPlayerType_AGORA` 时表示该教室音视频使用声网技术;
	- 声网教室可通过百家云后台创建,如果需要开通声网教室或了解具体细节,可以与百家云商务沟通。
戴曦嘉's avatar
1.3.9  
戴曦嘉 committed
292

huangjie's avatar
huangjie committed
293
### 课件
root's avatar
1.3.8  
root committed
294

huangjie's avatar
huangjie committed
295 296 297 298
- 大班课课件支持多白板。
	- 单页白板实例为 `BJLSlidePage` 类型,`documentID` 均为 `0``slidePageIndex` 表示序号;
	- 通过 `BJLDocumentVM``addWhiteboardPage` 添加一页白板,`deleteWhiteboardPageWithIndex:` 方法删除对应 `slidePageIndex` 的白板页;
	- 通过监听 `BJLDocument``didAddWhiteboardPage:` 方法获取白板页添加通知,监听 `didDeleteWhiteboardPageWithIndex:` 方法获取白板页删除通知。
root's avatar
1.3.8  
root committed
299

huangjie's avatar
huangjie committed
300 301 302
- 大班课课件动画效果支持即时开关。
	- 通过设置 `BJLRoom``disablePPTAnimation` 属性开关课件动效,设置之后立即生效;
	- 课件动效仍然受后台配置影响,如账号在百家云后台配置了禁用动效,则设置该属性也无法打开。
戴曦嘉's avatar
1.3.7  
戴曦嘉 committed
303

huangjie's avatar
huangjie committed
304 305 306
- 大班课支持设置禁止学生翻页。
	- 通过设置 `BJLOnlineUserVM``forbidStudentChangePPT` 属性控制。

huangjie's avatar
huangjie committed
307 308
- 课件备注。
	- 通过 `BJLSlideshowUI` 定义的 `updateShowPPTRemarkInfo:` 方法控制课件模块备注信息的显示、隐藏。
戴曦嘉's avatar
1.3.7  
戴曦嘉 committed
309

huangjie's avatar
huangjie committed
310 311
- 虚线画笔。
	- `BJLDrawingVM``isDottedLine` 属性表示将要画的画笔是否为虚线,根据需要设置,目前只支持 `BJLDrawingShapeType_doodle` 类型的画笔。
戴曦嘉's avatar
1.3.6  
戴曦嘉 committed
312

huangjie's avatar
huangjie committed
313 314
- 动效课件当前页信息精确到动画步数。
	- `BJLDocumentVM``currentSlidePage` 属性表示教室内的当前页,它的 `step` 属性表示当前的动画步数,仅用于动效 PPT。
戴曦嘉's avatar
1.3.6  
戴曦嘉 committed
315

huangjie's avatar
huangjie committed
316
### 测验
戴曦嘉's avatar
戴曦嘉 committed
317

huangjie's avatar
huangjie committed
318 319
- 新版测验支持 native 方式集成。
	- 参考 `BJLRoomVM``测验 V2 native 方式` 部分。
戴曦嘉's avatar
戴曦嘉 committed
320

huangjie's avatar
huangjie committed
321 322
- 专业版小班课支持答题器
	- 与大班课答题器 API 相同。
root's avatar
1.3.3  
root committed
323

huangjie's avatar
huangjie committed
324
### 其它
root's avatar
1.3.3  
root committed
325

huangjie's avatar
huangjie committed
326 327
- 分组公告。
	- `BJLNotice``groupNoticeList` 表示教室内各小组的公告,数组元素为 `BJLNoticeModel` 类型。
huangjie's avatar
huangjie committed
328

huangjie's avatar
huangjie committed
329 330 331
- 用户列表支持分组显示。
	- 教室内分组信息参考 `BJLOnlineUserVM``分组` 部分;
	- `BJLOnlineUserVM``hasMoreOnlineUsersofGroup:` 获取某一个分组是否有更多在线用户未加载,`loadMoreOnlineUsersWithCount:groupID:` 加载对应分组的更多在线用户。
huangjie's avatar
huangjie committed
332

huangjie's avatar
huangjie committed
333 334
- 红包雨
	- 参考 `BJLRoomVM``红包雨` 部分。
root's avatar
root committed
335

huangjie's avatar
huangjie committed
336
- 禁言状态下可私聊老师及助教。