第一步,创建一个聊天室,聊天室可以提供一个基础的文字聊天环境,请求自己的APP服务器
ChatRoomHttpClient.getInstance().createRoom(DemoCache.getAccount(), roomEdit.getText().toString(), new ChatRoomHttpClient.ChatRoomHttpCallback<String>() {}
第二步,创建多人会话房间,调用网易sdk
通过一个房间名 roomName 来创建多人会话房间。
可以传入一个扩展字段 extraMessage。 后续加入房间的用户会收到这个扩展字段。
AVChatManager.getInstance().createRoom(roomId, "avchat test", new AVChatCallback<AVChatChannelInfo>() {}
第三步,进入聊天室,调用网易sdk
EnterChatRoomData data = new EnterChatRoomData(roomId);
NIMClient.getService(ChatRoomService.class).enterChatRoom(data);
第四步,配置AVChatOptionalConfig,以创建者的身份加入多人会话房间,调用网易sdk
avChatOptionalParam.enableAudienceRole(false);//观众角色.不发送任何数据,允许接收数据
avChatOptionalParam.enableLive(true);//设置url加入会话后立即开始直播
avChatOptionalParam.setLiveUrl(shareUrl);//设置推流地址
....
//加入多人会话
AVChatManager.getInstance().joinRoom(roomId, AVChatType.VIDEO, avChatOptionalParam, new AVChatCallback<AVChatData>() {}
第五步,关闭聊天室
ChatRoomHttpClient.getInstance().closeRoom(roomId, roomInfo.getCreator(), new ChatRoomHttpClient.ChatRoomHttpCallback<String>() {}
第六步,退出聊天室,离开多人音视频房间
NIMClient.getService(ChatRoomService.class).exitChatRoom(roomId);
AVChatManager.getInstance().leaveRoom(new AVChatCallback<Void>() {}
<br />
<br />
其他
//中途开/关本地视频流的发送.
AVChatManager.getInstance().muteLocalVideo(true|false);
//中途开/关本地音频.
AVChatManager.getInstance().muteLocalAudio(true|false);