白板主调接口

1  房间管理相关

1.1 创建房间

注意事项:
 1、创建房间后无需再次加入房间
 2、创建房间成功后建议立即配置窗口显示的承接位置
  • ECWBSSRoom room = new ECWBSSRoom();
  • room.setRoomType(type);     // 房间类型:1.临时房间, 2.永久房间
  • room.setMemberLimit(count);   //房间人数限制
  • room.setPassword(psd);//房间密码
  • ECWbss.getECWBSSManager().createRoom(room, new ECWBSSRoomManager.OnCreateRoomListener() {
  •     @Override
  •     public void onCreateRoom(ECWBSSError error, ECWBSSRoom room) {
  •        
  •         if (error.getErrorCode() == CODE_STATE_SUCESS) {
  • int roomId = room.getRoomId(); // roomId
  •             //开发者处理 创建成功之后的逻辑
  •         } 
  •     }
  • });

1.2 加入房间

注意事项:
 1、加入房间成功后建议立即配置窗口显示的承接位置
  • ECWBSSRoom room = new ECWBSSRoom();
  • room.setRoomType(type);//房间类型
  • room.setRoomId(roomid);//房间id
  • room.setPassword(psd);//房间密码
  • /**
  •  *加入房间
  •  * @param ECWBSSRoom 房间信息
  •  * @param OnJoinRoomListener 加入回调
  •  */
  • ECWbss.getECWBSSManager().joinRoom(room, new ECWBSSRoomManager.OnJoinRoomListener() {
  •     @Override
  •     /**
  •      *@param ECWBSSError
  •      *@param ECWBSSRoom 房间信息
  •      *@param String documentListjsonString 文档列表json  详见demo
  •      */
  •     public void onJoinRoom(ECWBSSError error, ECWBSSRoom room, String documentListjsonString) {
  •         if (error.getErrorCode() == 200) {
  •             int roomId = room.getRoomId();//roomId
  •             //开发者处理加入成功后的逻辑
  •         }
  •     }
  • });

1.3 离开房间

  • ECWBSSRoom room = new ECWBSSRoom();
  • room.setRoomId(roomid);//房间id
  • /**
  •  * 离开房间
  •  * @param ECWBSSRoom 房间信息
  •  * @param OnLeaveRoomListener 离开房间回调
  •  */
  • ECWbss.getECWBSSManager().leaveRoom(room, new ECWBSSRoomManager.OnLeaveRoomListener() {
  •     @Override
  •     public void onLeaveRoom(ECWBSSError error, ECWBSSRoom room) {
  •         int roomId = room.getRoomId();//roomId
  •         if (error.getErrorCode() == 200){
  •             //离开房间成功
  •         }
  •     }
  • });

1.4 解散房间

  • ECWBSSRoom room = new ECWBSSRoom();
  • room.setRoomId(roomid);//房间id
  • /**
  •  * 解散房间
  •  * @param ECWBSSRoom 房间信息
  •  * @param OnDeleteRoomListener 解散房间回调
  •  */
  • ECWbss.getECWBSSManager().deleteRoom(room, new ECWBSSRoomManager.OnDeleteRoomListener() {
  •     @Override
  •     public void onDeleteRoom(ECWBSSError error, ECWBSSRoom room) {
  •         int roomId = room.getRoomId();//roomId
  •         if (error.getErrorCode() == 200){
  •             //解散房间成功
  •         }
  •     }
  • });

1.5 清除房间划线信息

  • ECWBSSRoom room = new ECWBSSRoom();
  • room.setRoomId(roomId);//设置roomId
  • /**
  •  * 清除房间 息
  •  * @param E SSRoom 房间信息
  •  * @param OnClearRoomListener 清除回调
  •  */
  • ECWbss.getECWBSSManager().clearRoom(room, new ECWBSSRoomManager.OnClearRoomListener() {
  •     @Override
  •     public void onClearRoom(ECWBSSError error, ECWBSSRoom room) {
  •         if (error.getErrorCode() == 200) {
  •             //清除成功
  •         }
  •     }
  • });

1.6 获取房间成员

  • /**
  •   * 查询房间成员
  •  * @param String  roomId 房间Id
  •  * @param OnQueryRoomMemberListener 查询回调
  •  */
  • ECWbss.getECWBSSManager().queryRoomMember(roomId, new ECWBSSRoomManager.OnQueryRoomMemberListener() {
  •     @Override
  •     /**
  •      * @param ECWBSSError
  •      * @param List<ECWbssRoomMember> 房间成员列表 可获取成员id信息
  •      */
  •     public void onQueryRoomMember(ECWBSSError error, List<ECWbssRoomMember> list) {
  •         if (error.getErrorCode() == 200) {
  •             //查询成功;
  •         }
  •     }
  • });

2  操作模式设置相关

2.1 设置线的形状

  • /**
  •   * 设置线的形状
  •  * @param int shape 线的形状数值 自由划线:1,直线:2 , 四边形:3 三角形:4 圆:5 椭圆:6 虚线:7 箭头:8 激光笔:12
  •  * @param int roomId 房间Id
  •  */
  • ECWbss.getECWBSSManager().setLineShape(shape, roomId);

2.2 设置线的颜色

  • ECWBSSColor color = new ECWBSSColor();
  • color.setAlaph(255);// 设置透明度
  • color.setRedColor(red); //设置红色数值
  • color.setGreenColor(green);//设置绿色数值
  • color.setBlueColor(blue);//设置蓝色数值
  • /**
  •  * 设置线条颜色
  •  * @param ECWBSSColor 颜色信息
  •  * @param int roomId 房间id
  •  */
  • ECWbss.getECWBSSManager().setLineColor(color, roomId);

2.3 设置线的宽度

  • /**
  •   * 设置线条宽度
  •  * @param int size  度
  •  * @param int roomId 房间Id
  •  */
  • ECWbss.getECWBSSManager().setLineSize(size, roomId);

2.4 画笔模式

  • /**
  •   * 画笔模式
  •  * @param int roomId 房间Id
  •  * @param int penType 画笔类型 参考 设置线的形状
  •  */
  • ECWbss.getECWBSSManager().getPen(roomId, penType);

2.5 橡皮擦模式

  • /**
  •  * 橡皮擦模式
  •  * @param int roomId 房间Id
  •  */
  • ECWbss.getECWBSSManager().getEraser(roomId);

2.6 设置填充模式

  • /**
  •  * 设置填充模式
  •  * @param int roomId 房间Id
  •  * @param int 填充模式 0非填充 1填充 比如画圆形 0是空心圆 1是实心圆
  •  * @param OnSetFillModeListener 回调
  •  */
  • ECWbss.getECWBSSManager().setFillMode(roomId, 1, new ECWBSSDocumentManager.OnSetFillModeListener() {
  •     @Override
  •     public void onSetFillMode(ECWBSSError error) {
  •         if (error.getErrorCode() == 200) {
  •             //设置成功
  •         }
  •     }
  • });

2.7 设置白板的绘制区域比例

  • /**
  •  *设置白板的绘制区域比例(注:发起者的比例将会使其他端保持此比例。比例>1.0为横屏,比例小于1.0为竖屏, <=0.0是全屏
  •  *@param float fixeScale 白板固定化比例
  •  */
  • ECWbss.getECWBSSManager().setWhiteBoardScale(1f);

2.8 设置文档的背景颜色

  • /**
  •   * 设置文档背景颜色
  •  * @param int roomId
  •  * @param int red颜色数值
  •  * @param int green 值
  •  * @param int blue颜色数值
  •  * @param int alpha透明值
  •  * @param OnSetDocBackgroundColorListener 设置回调
  •  */
  • ECWbss.getECWBSSManager().setDocBackgroundColor(roomId, red, green, blue, alpha, new ECWBSSDocumentManager.OnSetDocBackgroundColorListener() {
  •     @Override
  •     public void onSetDocBackgroundColor(ECWBSSError error) {
  •         if (error.getErrorCode() == 200) {
  •             //设置成功
  •         }
  •     }
  • });

2.9 撤销画线

  • /**
  •   * 撤销画线
  •  * @param int type 撤销类型(0/1 自己/全部)
  •  * @param OnDrawUndoListener 回调
  •  */
  • ECWbss.getECWBSSManager().drawUndo(type, new ECWBSSDocumentManager.OnDrawUndoListener() {
  •     @Override
  •     public void onDrawUndo(ECWBSSError error) {
  •         if (error.getErrorCode() == 200) {
  •             //撤销成功
  •         }
  •     }
  • });

2.10 恢复画线     

  • /**
  •  * 恢复画线
  •  * @param OnDrawRedoListener 回调
  •  */
  • ECWbss.getECWBSSManager().drawRedo(new ECWBSSDocumentManager.OnDrawRedoListener() {
  •     @Override
  •     public void onDrawRedo(ECWBSSError error) {
  •         if (error.getErrorCode() == 200) {
  •             //恢复成功
  •         }
  •     }
  • });

2.11 设置橡皮擦模式

  • /**
  •   * 设置橡皮擦模式 调用成功后 删除模式变为画线模式
  •  */
  • ECWbss.getECWBSSManager().setDeleteModel();

3.  文档管理相关

3.1 上传文档

  • ECWBSSDocument document = new ECWBSSDocument();
  • document.setRoomId(roomId);//设置房间Id
  • document.setFilePath(path);//设置文件的路径 如果是本地文件 则为绝对路径 如果是网络文件 则为网络路径
  • document.setDocumentType(type);//设置文件的类型 1本地 2暂不支持 3网络文件
  • /**
  •  * 上传文件
  •  * @param ECWBSSDocument 文档信息
  •  * @param OnUpLoadDocumentListener 上传回调
  •  */
  • ECWbss.getECWBSSManager().uploadDocument(document, new ECWBSSDocumentManager.OnUpLoadDocumentListener() {
  •     @Override
  •     public void onUploadDocument(ECWBSSError error, ECWBSSDocument document) {
  •         int documentId = document.getDocumentId(); //文件id
  •         if (error.getErrorCode() == 200) {
  •             //上传成功
  •         }
  •     }
  •     @Override
  •     /**
  •      * 文件上传进度
  •      * @param int totalSize 总大小
  •      * @param int currentSize 已经上传的大小
  •      * @paran ECWBSSDocument 文档信息
  •      */
  •     public void onDocUploadProcess(long totalSize, long currentSize, ECWBSSDocument document) {
  •     }
  •     @Override
  •     /**
  •      * 文件转换进度
  •      * @param float pr     换进度
  •      * @paran ECWBSSDocument 文档信息
  •      */
  •     public void onDocConvertProcess(float process, ECWBSSDocument document) {
  •     }

  •     @Override
  •     /**
  •      * 文件下载进度
  •      * @param float process 下载进度
  •      * @paran ECWBSSDocument 文档信息
  •      */
  •     public void onDocDownloadProcess(float process, ECWBSSDocument document) {
  •     }
  • });

3.2 共享文档

  • ECWBSSDocument document = new ECWBSSDocument();
  • document.setCurrentPage(1);//设置分享第几页
  • document.setDocumentId(docId);//设置分享的文件id
  • document.setRoomId(roomId);//设置房间Id
  • /**
  •  * 分享文档
  •  * @param ECWBSSDocument 文件信息
  •  * @param OnShareDocumentListener 分享回调
  •  */
  • ECWbss.getECWBSSManager().shareDocument(document, new ECWBSSDocumentManager.OnShareDocumentListener() {
  •     @Override
  •     public void onShareDocument(ECWBSSError error, ECWBSSDocument document) {
  •         if (error.getErrorCode() == 200) {
  •             //分享成功
  •         }
  •     }
  • });

3.3 清除某个文档

  • ECWBSSDocument document = new ECWBSSDocument();
  • document.setDocumentId(documentId);//设置文件Id
  • /**
  •  * 清除某个文档
  •  * @param int roomId 房间Id
  •  * @param ECWBSSDocument 文件信息
  •  * @param OnRemoveDocListener
  •  */
  • ECWbss.getECWBSSManager().removeDoc(roomId, document, new ECWBSSDocumentManager.OnRemoveDocListener() {
  •     @Override
  •     public void onRemoveDoc(ECWBSSError error, ECWBSSDocument document) {
  •         if (error.getErrorCode() == 200) {
  •             //success
  •         }
  •     }
  • });
 

3.4 清除当前页面

  • ECWBSSDocument document = new ECWBSSDocument();
  • document.setRoomId(roomId);//设置房间Id
  • /**
  •  * 清除当前页面
  •  * @param ECWBSSDocument 文件信息
  •  * @param String userId  如果为NULL,则清除当前页的所有画线,否则只清除此用户的画线
  •  * @param OnClearCurrentPageListener 清除回调
  •  */
  • ECWbss.getECWBSSManager().clearCurrentPageOfDocument(document, userId, new ECWBSSDocumentManager.OnClearCurrentPageListener() {
  •     @Override
  •     public void onClearCurrentPage(ECWBSSError error, ECWBSSDocument document) {
  •         if (error.getErrorCode() == 200) {
  •             //清空成功
  •         }
  •     }
  • });

3.5 页面跳转

  • ECWBSSDocument document = new ECWBSSDocument();
  • document.setRoomId(roomId);//设置房间Id
  • document.setDocumentId(docId);//设置文档id,
  • /**
  •  * 页面跳转
  •  * @param int index 跳转的页数
  •  * @param ECWBSSDocument 文件信息
  •  * @param OnGotoPageListener 跳转的回调
  •  */
  • ECWbss.getECWBSSManager().gotoPage(index, document, new ECWBSSDocumentManager.OnGotoPageListener() {
  •     @Override
  •     public void onGotoPage(ECWBSSError error, ECWBSSDocument document) {
  •         if (error.getErrorCode() == 200) {
  •             //跳转成功
  •         }
  •     }
  • });

3.6 跳转下一页

  • ECWBSSDocument document = new ECWBSSDocument();
  • document.setRoomId(roomId);//设置房间Id
  • /**
  •  * 跳转下一页
  •  * @param ECWBSSDocument 文档信息
  •  * @param OnGotoPageListener 跳转回调
  •  */
  • ECWbss.getECWBSSManager().gotoNextPageOfDocument(document, new ECWBSSDocumentManager.OnGotoPageListener() {
  •     @Override
  •     public void onGotoPage(ECWBSSError error, ECWBSSDocument document) {
  •         if (error.getErrorCode() == 200) {
  •             //success
  •         }
  •     }
  • });

3.7 跳转上一页

  • ECWBSSDocument document = new ECWBSSDocument();
  • document.setRoomId(roomId);//设置房间Id
  • /**
  •  * 跳转上一页一页
  •  * @param ECWBSSDocument 文档信息
  •  * @param OnGotoPageListener 跳转回调
  •  */
  • ECWbss.getECWBSSManager().gotoPrevPageOfDocument(document, new ECWBSSDocumentManager.OnGotoPageListener() {
  •     @Override
  •     public void onGotoPage(ECWBSSError error, ECWBSSDocument document) {
  •         if (error.getErrorCode() == 200) {
  •             //success
  •         }
  •     }
  • });

3.8 保存当前显示的图片文档

注意事项:方法中的mView为配置窗口显示的承接位置时创建的对象
  • String path = getExternalStorePath() + File.separator + "wbss" + File.separator + "file" + "/test.pdf";
  • /**
  •  * 保存页面为图片或者PDF
  •  * @param String path 绝对路径加文件名 注意后缀名
  •  * @param int type 保存的类型  0为图片 只保存当前页 1为PDF 保存所有页
  •  */
  • mView.save(path, 1);