tencent cloud

文档反馈

房间列表

最后更新时间:2025-01-09 16:38:15
    本文档主要介绍如何使用 RTC Room Engine SDK 实现房间列表功能。
    您可利用 RTC Room Engine SDK提供 TUILiveListManager 插件实现房间列表功能。
    在使用 TUILiveListManager 插件时,您只需要关注如何让自己的直播间在房间列表中可见如何获取直播间列表即可

    前提条件

    在使用 RTC RoomEngine SDK 前,您需要先调用 登录 SDK,以便后续功能正常使用。

    使用指引

    如何让自己的直播间在房间列表可见

    您首先需要通过 getExtension 接口获取 TUILiveListManager插件。
    然后再使用 TUILiveListManager 插件的 setLiveInfo 接口实现该功能,传入两个参数:直播间信息和修改标识。
    iOS
    Android
    import RTCRoomEngine
    
    let liveListManager = TUIRoomEngine.sharedInstance().getExtension(extensionType: .liveListManager) as! TUILiveListManager
    
    let liveInfo = TUILiveInfo()
    liveInfo.roomInfo.roomId = "live_100001" //请将其替换成您自己的直播间房间Id
    liveInfo.isPublicVisible = true //让直播间可在直播列表中展示
    liveListManager.setLiveInfo(liveInfo, modifyFlag: [.publish]) {
    // 设置直播间信息成功
    } onError: { code, message in
    // 设置直播间信息失败
    }
    TUILiveListManager liveListManager = (TUILiveListManager) TUIRoomEngine.sharedInstance().getExtension(TUICommonDefine.ExtensionType.LIVE_LIST_MANAGER);
    
    TUILiveListManager.LiveInfo liveInfo = new TUILiveListManager.LiveInfo();
    liveInfo.roomInfo.roomId = "live_100001"; //请将其替换成您自己的直播间房间Id
    liveInfo.isPublicVisible = true;
    List<TUILiveListManager.LiveModifyFlag> flagList = new ArrayList<>();
    flagList.add(TUILiveListManager.LiveModifyFlag.PUBLISH);
    liveListManager.setLiveInfo(liveInfo, flagList, new TUIRoomDefine.ActionCallback() {
    @Override
    public void onSuccess() {
    // 设置直播间信息成功
    }
    @Override
    public void onError(TUICommonDefine.Error error, String message) {
    // 设置直播间信息失败
    }
    });
    说明:
    在设置直播间可见前请确保您的直播间已处于开播状态。

    如何获取直播间列表

    您首先需要通过 getExtension 接口获取 TUILiveListManager插件。
    然后再使用 TUILiveListManager 插件的 fetchLiveList 接口实现该功能,传入两个参数:字符串类型的列表下标和单次拉取直播间个数。
    iOS
    Android
    import RTCRoomEngine
    
    let liveListManager = TUIRoomEngine.sharedInstance().getExtension(extensionType: .liveListManager) as! TUILiveListManager
    
    let cursor = "" // 首次拉取时下标填空字符串即可,后续拉取根据接口返回的cursor设值
    let singleFetchRoomLimit = 50 // 请将其替换成您单次拉取直播间个数,个数上限为50
    liveListManager.fetchLiveList(cursor: "", count: singleFetchRoomLimit) { cursor, liveList in
    // 获取直播间列表成功
    } onError: { code, message in
    // 获取直播间列表失败
    }
    TUILiveListManager liveListManager = (TUILiveListManager) TUIRoomEngine.sharedInstance().getExtension(TUICommonDefine.ExtensionType.LIVE_LIST_MANAGER);
    
    String cursor = ""; // 首次拉取时下标填空字符串即可,后续拉取根据接口返回的cursor设值
    int singleFetchRoomLimit = 50; // 请将其替换成您单次拉取直播间个数,个数上限为50
    liveListManager.fetchLiveList("", singleFetchRoomLimit, new TUILiveListManager.LiveInfoListCallback() {
    @Override
    public void onSuccess(TUILiveListManager.LiveInfoListResult result) {
    // 获取直播间列表成功
    }
    @Override
    public void onError(TUICommonDefine.Error error, String message) {
    // 获取直播间列表失败
    }
    });
    联系我们

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

    技术支持

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

    7x24 电话支持