互动白板

更新时间: 2025/09/04 17:05:15

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

功能介绍

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

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

前提条件

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

配置步骤

  1. 开始共享白板。

    func startWhiteboardShare(callback: NECallback<AnyObject>? = nil)
    
  2. 设置白板视图。

    func setupWhiteboardCanvas(view: NEWhiteboardView) -> Int
    
  3. (可选)重置白板视图。

    func resetWhiteboardCanvas(view: NEWhiteboardView?) -> Int
    

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

  4. 设置白板是否可绘制。

    func setEnableDraw(enable: Bool) -> Int
    
  5. 查询白板共享者的 userUuid。

    func getWhiteboardSharingUserUuid() -> String?
    
  6. 停止共享白板。

    func stopWhiteboardShare(callback: NECallback<AnyObject>? = nil)
    
  7. 关闭某成员的白板共享。

    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 ?? "")")
        }
    } 
    
  7. 实现关闭某成员的白板共享的示例代码如下:

    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 参考