tencent cloud

文档反馈

最后更新时间:2023-08-22 17:01:55
    本文档主要介绍如何主动退出当前 TRTC 房间,同时还会介绍在什么情况下会被迫退出房间:
    
    

    步骤1:完成前序步骤

    可以参考文档 进入房间,创建 trtc 并进入房间。

    步骤2:退出当前房间

    调用 trtc.exitRoom() 方法退出房间,结束音视频通话。
    await trtc.exitRoom();
    // 退房成功后,若后续无需使用 trtc 实例,则可以调用 trtc.destroy 方法销毁实例,及时释放相关资源。销毁后的 trtc 实例无法继续使用,需要重新创建新的实例。
    trtc.destroy();
    处理被踢出
    除了用户主动退出房间之外,用户也有可能因为如下原因被踢出房间,此时 SDK 会抛出KICKED_OUT 事件,这时不需要调用 trtc.exitRoom() 退房,SDK 自动进入退房状态。
    1. kick:两个相同 userId 的用户进入相同房间,前一个进房的用户会被踢出。同名用户同时进入同一房间是不允许的行为,可能会导致双方音视频通话异常,应避免出现这种情况。
    2. banned:通过服务端的RemoveUser | RemoveUserByStrRoomId接口将某个用户踢出某个 TRTC 房间,该用户会收到被踢事件,reason 为 banned
    3. room-disband:通过服务端的 DismissRoom | DismissRoomByStrRoomId 接口将某个 TRTC 房间解散,解散房间之后,该房间的所有用户都会收到被踢事件,reason 为 room-disband
    trtc.on(TRTC.EVENT.KICKED_OUT, error => {
    console.error(`kicked out, reason:${error.reason}, message:${error.message}`);
    // error.reason 有以下几种情况
    // 'kick' 由于相同 userId 进相同房间,导致先进入的用户被踢。
    // 'banned' 被管理员移出房间
    // 'room-disband' 管理员解散了房间
    });
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持