NERoom 房间组件
Android
动态与公告
更新日志
产品简介
产品介绍
功能特性
产品优势
使用限制
快速开始
接入流程
开通 NERoom 房间组件
下载 SDK和 Demo
集成 SDK
初始化SDK
搭建直播间
账号集成与登录
房间管理
创建房间
进入房间
监听房间事件
离开房间
删除房间
房间属性
成员管理
查询房间成员信息
移除成员
成员属性
修改成员角色
即时消息
进入和离开聊天室
消息发送
消息接收
音视频通话
加入和退出音视频房间
设置音频属性
本地视频预览
静音和取消静音
开启和关闭视频
屏幕共享
虚拟背景
云信美颜
第三方美颜
伴音和音效
耳返
麦位管理
互动白板
直播
场景实践
PK 直播组件
会议组件
语聊房组件
最佳实践
超大房间直播互动
复用 IM 的账号
错误码
常见问题

互动白板

更新时间: 2022/11/10 17:11:18

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

功能介绍

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

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

前提条件

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

配置步骤

  1. 开始共享白板。

    fun startWhiteboardShare(callback: NECallback<Unit>)
    
  2. 设置白板视图。

    fun setupWhiteboardCanvas(view: NEWhiteboardView)
    
  3. 设置白板是否可绘制。

    fun setEnableDraw(enable: true/false, callback: NECallback<Unit>)
    

    enable的参数说明如下:

    • true:允许绘制。
    • false:不允许绘制。
  4. 停止共享白板。

    fun stopWhiteboardShare(callback: NECallback<Unit>)
    
  5. 重置白板视图。

    fun resetWhiteboardCanvas(view: NEWhiteboardView?)
    
  6. 关闭某成员的白板共享。

    stopMemberWhiteboardShare(userUuid: String, callback: NECallback<Unit>)
    

示例代码

1.实现共享白板功能的示例代码如下:

                NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
                NERoomContext roomContext = roomService.getRoomContext(roomUuid);
                if (roomContext!=null){
                    roomContext.getWhiteboardController().startWhiteboardShare(new NECallback2<Unit>() {
                        @Override
                        public void onSuccess(@Nullable Unit unit) {
                            super.onSuccess(unit);
                            Log.d(TAG,"success");
                        }

                        @Override
                        public void onError(int code, @Nullable String message) {
                            super.onError(code, message);
                            Log.d(TAG,"error");
                        }
                    });
                }     

2.实现设置白板视图功能的示例代码如下:

        NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
        NERoomContext roomContext = roomService.getRoomContext(roomUuid);
        if (roomContext!=null){
            NEWhiteboardView whiteboardView = new NEWhiteboardView(this);
            whiteboardContainer.removeAllViews();
            whiteboardContainer.addView(whiteboardView);
            whiteboardController.setupWhiteboardCanvas(whiteboardView);
            roomContext.getWhiteboardController().setupWhiteboardCanvas(whiteboardView);
        }       

3.实现重置白板视图功能的示例代码如下:

        NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
        NERoomContext roomContext = roomService.getRoomContext(roomUuid);
        if (roomContext!=null){
            if (whiteboardContainer.getChildCount() > 0) {
                NEWhiteboardView whiteboardView = (NEWhiteboardView) whiteboardContainer.getChildAt(0);
                whiteboardController.resetWhiteboardCanvas(whiteboardView);
            }
        }        

4.实现设置白板是否可绘制功能的示例代码如下:

        NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
        NERoomContext roomContext = roomService.getRoomContext(roomUuid);
        if (roomContext != null) {
             roomContext.getWhiteboardController().setEnableDraw(true, new NECallback2<Unit>() {
                 @Override
                 public void onSuccess(@Nullable Unit unit) {
                     super.onSuccess(unit);
                     Log.d(TAG,"success");
                 }

                 @Override
                 public void onError(int code, @Nullable String message) {
                     super.onError(code, message);
                     Log.d(TAG,"error");
                 }
             });
        }

5.实现停止共享白板功能的示例代码如下:

NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
                NERoomContext roomContext = roomService.getRoomContext(roomUuid);
                if (roomContext!=null){
                    roomContext.getWhiteboardController().stopWhiteboardShare(new NECallback2<Unit>() {
                        @Override
                        public void onSuccess(@Nullable Unit unit) {
                            super.onSuccess(unit);
                            Log.d(TAG,"success");
                        }

                        @Override
                        public void onError(int code, @Nullable String message) {
                            super.onError(code, message);
                            Log.d(TAG,"error");
                        }
                    });
                }      

6.实现监听白板状态变更功能的示例代码如下:

        NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
        NERoomContext roomContext = roomService.getRoomContext(roomUuid);
        if (roomContext!=null){
            roomContext.addRoomListener(new NERoomListener() {
                @Override
                public void onMemberWhiteboardStateChanged(@NonNull NERoomMember member, boolean isSharing) {
                      if (isSharing){
                          Log.d(TAG,member.getUuid()+"is sharing whiteboard")
                      }else{
                          Log.d(TAG,member.getUuid()+"stop sharing whiteboard")
                      } 
                }

            });
        }
  1. 实现关闭某成员的白板共享的示例代码如下:
        NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
        NERoomContext roomContext = roomService.getRoomContext(roomUuid);
        if (roomContext != null) {
            String userUuid = "uuid";
            roomContext.getWhiteboardController().stopMemberWhiteboardShare(userUuid, new NECallback2<Unit>() {
                @Override
                public void onSuccess(@Nullable Unit unit) {
                    Log.d(TAG,"success");
                }

                @Override
                public void onError(int code, @Nullable String message) {
                    Log.d(TAG,"error");
                }
            });
        }

相关API文档

方法 功能描述
setEnableDraw 设置白板可绘制。
setupWhiteboardCanvas 设置白板视图。
resetWhiteboardCanvas 重置白板视图。
startWhiteboardShare 开始共享白板。
stopWhiteboardShare 停止共享白板。
onMemberWhiteboardStateChanged 白板共享状态变更回调。
stopMemberWhiteboardShare 关闭某成员的白板共享。
此文档是否对你有帮助?
有帮助
我要吐槽
  • 功能介绍
  • 前提条件
  • 配置步骤
  • 示例代码
  • 相关API文档