本文档主要介绍如何使用 RTC Room Engine
SDK 实现房间列表功能。
您可利用 RTC Room Engine
SDK提供 TUILiveListManager
插件实现房间列表功能。
在使用 TUILiveListManager 插件时,您只需要关注如何让自己的直播间在房间列表中可见和如何获取直播间列表即可。
前提条件
在使用 RTC RoomEngine
SDK 前,您需要先调用 登录 SDK,以便后续功能正常使用。 使用指引
如何让自己的直播间在房间列表可见
您首先需要通过 getExtension
接口获取 TUILiveListManager
插件。
然后再使用 TUILiveListManager
插件的 setLiveInfo
接口实现该功能,传入两个参数:直播间信息和修改标识。
import RTCRoomEngine
let liveListManager = TUIRoomEngine.sharedInstance().getExtension(extensionType: .liveListManager) as! TUILiveListManager
let liveInfo = TUILiveInfo()
liveInfo.roomInfo.roomId = "live_100001"
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";
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
接口实现该功能,传入两个参数:字符串类型的列表下标和单次拉取直播间个数。
import RTCRoomEngine
let liveListManager = TUIRoomEngine.sharedInstance().getExtension(extensionType: .liveListManager) as! TUILiveListManager
let cursor = ""
let singleFetchRoomLimit = 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 = "";
int singleFetchRoomLimit = 50;
liveListManager.fetchLiveList("", singleFetchRoomLimit, new TUILiveListManager.LiveInfoListCallback() {
@Override
public void onSuccess(TUILiveListManager.LiveInfoListResult result) {
}
@Override
public void onError(TUICommonDefine.Error error, String message) {
}
});
本页内容是否解决了您的问题?