跳到主要内容

基本操作

创建/加入房间

调用 RCRTCEngine 下的 JoinRoom 方法加入房间,如果该房间之前不存在,则会在调用时自动创建并加入。

public void JoinRoom(String roomId, RCRTCRoomSetup roomSetup);
  • 参数说明:

    参数类型说明
    roomIdstring房间唯一 ID注1
    roomSetupRCRTCRoomSetup加入房间回调
    提示

    注1:roomId 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式 最长 64 个字符。

  • 会议模式示例代码

    Engine.OnRoomJoined = (int code, string message) =>{
    // code: 错误码 0, 成功
    // message: 错误描述
    };
    var setup = RCRTCRoomSetup.Builder().Create().WithRole(RCRTCRole.MEETING_MEMBER).Build();
    Engine.JoinRoom(roomId, roomSetup);
  • 直播模式示例代码

    Engine.OnRoomJoined = (int code, string message) =>{
    // code: 错误码 0, 成功
    // message: 错误描述
    };
    // 创建房间配置对象,设置房间类型为音频直播,角色身份为主播。
    var setup = RCRTCRoomSetup.Builder().Create().WithRole(RCRTCRole.LIVE_BROADCASTER).Build();
    var ret = Engine.JoinRoom(roomId, roomSetup);

退出房间

调用 RCRTCEngine 下的 LeaveRoom 接口离开房间,离开时 SDK 内部会自动取消所有已发布和订阅的资源。

  • 示例代码:

    Engine.OnRoomLeft = (int code, string message) =>{
    // code: 错误码 0, 成功
    // message: 错误描述
    };
    Engine.LeaveRoom();
提示

每个房间在创建之初,会由融云服务生成一个在用户全网唯一的 SessionId,可用于后台业务查询或与融云进行问题沟通。当房间内的所有人退出或被服务器判定掉线后,此 Session 结束。之后即便再用相同的 RoomId 创建房间,SessionId 也会更新为不同值。