互动白板

更新时间: 2022/11/10 09:11:45

您可以通过 NERoom 的互动白板,实现互动涂鸦、实时同步、文档共享等功能,满足在线教育、互动娱乐、金融面签、视频会议等低延时高互动场景的需求。

功能介绍

互动白板的应用场景包括:

  • 在线教育:用于线上语言培训、K12 学科辅导等课堂教学场景,教师可借助涂鸦、文本、直线、激光笔等基础教具,边演示课件边勾画要点。
  • 视频会议:用于视频会议、在线培训等企业协同场景,满足主讲实时演示讲解、多方协同交流的需求。
  • 互动娱乐:用于你画我猜、互动涂鸦等娱乐场景,满足更多有趣的游戏互动玩法。
  • 金融面签:用于视频面签、远程见证等金融场景,满足面签双方远程办理业务、进行签名确认的需求。

前提条件

创建房间时,已在NECreateRoomOptions方法中,设置enableWhiteboard=true,具体操作方法请参见创建房间

配置步骤

  1. 开始共享白板。
func startWhiteboardShare(callback: NECallback<AnyObject>? = nil)
  1. 设置白板视图。
func setupWhiteboardCanvas(view: NEWhiteboardView) -> Int

  1. (可选)重置白板视图。
func resetWhiteboardCanvas(view: NEWhiteboardView?) -> Int

如果 view 的值设置为 null,表示强制重置白板视图。

  1. 设置白板是否可绘制。
func setEnableDraw(enable: Bool) -> Int
  1. 查询白板共享者的userUuid。
func getWhiteboardSharingUserUuid() -> String?
  1. 停止共享白板。
func stopWhiteboardShare(callback: NECallback<AnyObject>? = nil)
  1. 关闭某成员的白板共享。
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 ?? "")")
        }
    } 
  1. 实现关闭某成员的白板共享的示例代码如下:
    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 关闭某成员的白板共享。
此文档是否对你有帮助?
有帮助
去反馈
  • 功能介绍
  • 前提条件
  • 配置步骤
  • 示例代码
  • API 参考