title: 管理多人视频通话

Room 表示一个多人的视频会话。多个用户可以加入同一个 Room 进行音视频通话。

加入 Room

加入 Room 前需要使用唯一的 roomId 创建 WilddogRoom 对象实例,并使用 connect() 方法加入 Room。 成功加入到 Room 后可以使用 publish()subscribe() 方法发布或订阅媒体流。

  1. WilddogRoom room=new WilddogRoom(roomId,listener);
  2. room.connect();

WilddogVideoRoom 提供了海外服务器节点,使用携带url参数的构造方法在初始化时指定服务器地址:

  1. WilddogRoom room=new WilddogRoom(roomId,<YOUR SERVER URL>,listener);
  2. room.connect();

提示:

如需使用海外节点,请联系客服 400-616-0980。

成功加入到 Room 后可以使用 publish(localStream)subscribe(roomStream) 方法发布或订阅媒体流。

离开 WilddogRoom

使用 disconnect() 方法离开当前 Room。离开 Room 后将会结束当前音视频通话,停止发布本地媒体流并取消订阅远端媒体流。

  1. room.disconnect();

处理 WilddogRoom 事件

WilddogRoom.Listener 事件用于监听 Room 连接状态以及媒体流变化。

事件类型 事件 说明
连接事件 onConnected 成功连接到 Room。
连接事件 onDisconnected 断开到 Room 的连接。
媒体流事件 onStreamAdded 有远端流加入到 Room,此时的 RoomStream 中不包含真正的媒体流,需要使用 subscribe 方法进行订阅方可获取真正的媒体流。
媒体流事件 onStreamRemoved 有远端流停止发布。
媒体流事件 onStreamReceived 成功订阅远端流,此时获取到真正的媒体流对象,可以进行播放。
错误事件 onError 成功订阅远端流。