白板主调接口
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);