Room List
本文档主要介绍如何使用
RTC Room Engine
SDK 实现房间列表功能。您可利用
RTC Room Engine
SDK提供 TUILiveListManager
插件实现房间列表功能。在使用 TUILiveListManager 插件时,您只需要关注如何让自己的直播间在房间列表中可见和如何获取直播间列表即可。
前提条件
使用指引
如何让自己的直播间在房间列表可见
您首先需要通过
getExtension
接口获取 TUILiveListManager
插件。然后再使用
TUILiveListManager
插件的 setLiveInfo
接口实现该功能,传入两个参数:直播间信息和修改标识。import RTCRoomEnginelet liveListManager = TUIRoomEngine.sharedInstance().getExtension(extensionType: .liveListManager) as! TUILiveListManagerlet liveInfo = TUILiveInfo()liveInfo.roomInfo.roomId = "live_100001" //请将其替换成您自己的直播间房间IdliveInfo.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"; //请将其替换成您自己的直播间房间IdliveInfo.isPublicVisible = true;List<TUILiveListManager.LiveModifyFlag> flagList = new ArrayList<>();flagList.add(TUILiveListManager.LiveModifyFlag.PUBLISH);liveListManager.setLiveInfo(liveInfo, flagList, new TUIRoomDefine.ActionCallback() {@Overridepublic void onSuccess() {// 设置直播间信息成功}@Overridepublic void onError(TUICommonDefine.Error error, String message) {// 设置直播间信息失败}});
说明:
在设置直播间可见前请确保您的直播间已处于开播状态。
如何获取直播间列表
您首先需要通过
getExtension
接口获取 TUILiveListManager
插件。然后再使用
TUILiveListManager
插件的 fetchLiveList
接口实现该功能,传入两个参数:字符串类型的列表下标和单次拉取直播间个数。import RTCRoomEnginelet liveListManager = TUIRoomEngine.sharedInstance().getExtension(extensionType: .liveListManager) as! TUILiveListManagerlet cursor = "" // 首次拉取时下标填空字符串即可,后续拉取根据接口返回的cursor设值let singleFetchRoomLimit = 50 // 请将其替换成您单次拉取直播间个数,个数上限为50liveListManager.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; // 请将其替换成您单次拉取直播间个数,个数上限为50liveListManager.fetchLiveList("", singleFetchRoomLimit, new TUILiveListManager.LiveInfoListCallback() {@Overridepublic void onSuccess(TUILiveListManager.LiveInfoListResult result) {// 获取直播间列表成功}@Overridepublic void onError(TUICommonDefine.Error error, String message) {// 获取直播间列表失败}});