请使用上面导航栏按钮进入各个模块浏览具体接口、回调、数据结构等详细内容。
// 房间事件监听器 BRTMSimpleRoomListener brtmRoomListener = new BRTMSimpleRoomListener() { @Override public void onError(BRTMError error) { } @Override public void onRoomJoined() { } @Override public void onBroadcastMessageReceived(String key, Object value) { } @Override public void onMessageReceived(String key, Object value, String userId) { } } // 注意必需在 BRTMRoom.createInstance 之前设置 AppId,否则返回实例为空 BRTMRoom.setAppId("Your AppId"); IBRTMRoom ibrtmRoom = BRTMRoom.createInstance(this.getApplicationContext()); ibrtmRoom.setRoomListener(brtmRoomListener); // 创建 BRTMConfig 实例 BRTMUserInfo userInfo = new BRTMUserInfo("UserId", BRTMConstants.BRTMUserRole, "UserName"); BRTMConfig brtmConfig = new BRTMConfig("roomId", userInfo, "sig"); // 进入房间 ibrtmRoom.joinRoomWithConfig(brtmConfig);
ibrtmRoom.leaveRoom();
IBRTMDocument currentDocument; List<IBRTMDocument> brtmDocumentList = new ArrayList<>(); List<BRTMDocModel> docModelList; // 添加文档白板事件监听器,处理白板、文档相关回调 ibrtmRoom.setDocumentListener(new BRTMSimpleDocumentListener() { // 以下事件根据业务场景来实现 // onWhiteboardPageAdded // onWhiteboardPageDeleted // onDocumentServiceEnable // onDocumentAdded // onDocumentDeleted // onDocumentUpdated // onPageSelected // onDocumentListChanged // onDocumentTypeChanged // onSingleTapConfirmed @Override public void onAllDocumentsReceived(BRTMResRoomDocAllModel docAllModel) { // 构造一个新的 BRTMDocument 对象 currentDocument = ibrtmRoom.obtainDocument(); currentDocument.init(docAllModel.docId); // 记录所有文档对象到列表,以便后续比对提取使用 brtmDocumentList.add(currentDocument); // 获取该文档所有页数据,存储每一页数据到列表 docModelList = ibrtmRoom.getDocumentManager().getDocumentList(docAllModel.docId); // 添加到视图 whiteboardContainer.addView(currentDocument.getView(), new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT)); // 发送广播,请求当前哪个文档处于打开激活状态 ibrtmRoom.requestBroadcastMessageCache("open_doc_id"); // 发送请求后,会通过 BRTMSimpleRoomListener.onBroadcastMessageReceived() 收到回调通知 // 如果 onBroadcastMessageReceived 回调通知的 key 为 open_doc_id,表示服务器下发了当前打开文档的信息 } });
// 添加用户事件监听器,处理用户相关回调 ibrtmRoom.setUserListener(new IBRTMUserListener() { // onResponseUserUpdateWithAuth // onBlockUserListUpdate // onUserIn // onUserOut // onSearchUserResult // onKickOut @Override public void onUserListUpdate(List<IUserModel> onlineUserList) { // 在这里处理用户列表数据 } });
// 添加聊天事件监听器,处理聊天消息 ibrtmRoom.getChatManager().registerChatEventListener(new IBRTMChatEventListener() { @Override public void onReceiveMessage(IBRTMMessageModel messageModel) { // 在这里处理接收到的聊天消息 } @Override public void onGetMessageAll(List<IBRTMMessageModel> messageAll) { // 在这里处理接收到的聊天消息 } });
Android示例代码 : 此示例代码包含 BRTC 和 BRTM 两部分 SDK 的集成使用,可以只关注其中的 BRTM 部分。
Android
请使用上面导航栏按钮进入各个模块浏览具体接口、回调、数据结构等详细内容。
简单代码示例
进入房间
离开房间
文档与白板
用户
聊天
示例工程
Android示例代码 : 此示例代码包含 BRTC 和 BRTM 两部分 SDK 的集成使用,可以只关注其中的 BRTM 部分。