互动白板
更新时间: 2022/11/10 09:11:45
您可以通过 NERoom 的互动白板,实现互动涂鸦、实时同步、文档共享等功能,满足在线教育、互动娱乐、金融面签、视频会议等低延时高互动场景的需求。
功能介绍
互动白板的应用场景包括:
- 在线教育:用于线上语言培训、K12 学科辅导等课堂教学场景,教师可借助涂鸦、文本、直线、激光笔等基础教具,边演示课件边勾画要点。
- 视频会议:用于视频会议、在线培训等企业协同场景,满足主讲实时演示讲解、多方协同交流的需求。
- 互动娱乐:用于你画我猜、互动涂鸦等娱乐场景,满足更多有趣的游戏互动玩法。
- 金融面签:用于视频面签、远程见证等金融场景,满足面签双方远程办理业务、进行签名确认的需求。
前提条件
创建房间时,已在NECreateRoomOptions
方法中,设置enableWhiteboard=true
,具体操作方法请参见创建房间。
配置步骤
- 开始共享白板。
func startWhiteboardShare(callback: NECallback<AnyObject>? = nil)
- 设置白板视图。
func setupWhiteboardCanvas(view: NEWhiteboardView) -> Int
- (可选)重置白板视图。
func resetWhiteboardCanvas(view: NEWhiteboardView?) -> Int
如果 view 的值设置为 null,表示强制重置白板视图。
- 设置白板是否可绘制。
func setEnableDraw(enable: Bool) -> Int
- 查询白板共享者的userUuid。
func getWhiteboardSharingUserUuid() -> String?
- 停止共享白板。
func stopWhiteboardShare(callback: NECallback<AnyObject>? = nil)
- 关闭某成员的白板共享。
func stopMemberWhiteboardShare(userUuid: String, callback: NECallback<AnyObject>? = nil)
示例代码
1.实现共享白板功能的示例代码如下:
let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")
guard let roomContext = roomContext else {
return
}
roomContext.whiteboardController.startWhiteboardShare { code, string, _ in
if code == 0 {
print("Successfully start whiteboard")
} else {
print("Failed to start whiteboard. Rease: \(string ?? "")")
}
}
2.实现设置白板视图功能的示例代码如下:
let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")
guard let roomContext = roomContext else {
return
}
let whiteboardView = NEWhiteboardView(frame: xxxx)
roomContext.whiteboardController.setupWhiteboardCanvas(view: whiteboardView)
3.实现重置白板视图功能的示例代码如下:
let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")
guard let roomContext = roomContext else {
return
}
roomContext.whiteboardController.resetWhiteboardCanvas(view: nil)
4.实现设置白板是否可绘制功能的示例代码如下:
let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")
guard let roomContext = roomContext else {
return
}
let code = roomContext.whiteboardController.setEnableDraw(enable: true)
if code == 0 {
print("Successfully set whiteboard enable draw.")
} else {
print("Failed to set whiteboard enable draw. Code: \(code)")
}
5.实现查询白板共享者的userUuid功能的示例代码如下:
let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")
guard let roomContext = roomContext else {
return
}
let userUuid = roomContext.whiteboardController.getWhiteboardSharingUserUuid()
6.实现停止共享白板功能的示例代码如下:
let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")
guard let roomContext = roomContext else {
return
}
roomContext.whiteboardController.stopWhiteboardShare { code, string, _ in
if code == 0 {
print("Successfully stop whiteboard share")
} else {
print("Failed to stop whiteboard share permission. Rease: \(string ?? "")")
}
}
- 实现关闭某成员的白板共享的示例代码如下:
let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")
guard let roomContext = roomContext else {
return
}
roomContext.whiteboardController.stopMemberWhiteboardShare(userUuid: "成员ID") { code, str, _ in
if code == 0 {
print("关闭成员白板共享成功")
} else {
print("关闭成员白板共享shi")
}
}
API 参考
方法 | 功能描述 |
---|---|
setEnableDraw | 设置白板可绘制。 |
setupWhiteboardCanvas | 设置白板视图。 |
resetWhiteboardCanvas | 重置白板视图。 |
startWhiteboardShare | 开始共享白板。 |
stopWhiteboardShare | 停止共享白板。 |
getWhiteboardSharing | 查询白板共享者的userUuid。 |
stopMemberWhiteboardShare | 关闭某成员的白板共享。 |
此文档是否对你有帮助?