tencent cloud

实时音视频

动态与公告
产品动态
产品近期公告
关于 TRTC Live 正式上线的公告
关于TRTC Conference 正式版上线的公告
Conference 商业化版本即将推出
关于多人音视频 Conference 开启内测公告
关于音视频通话 Call 正式版上线的公告
关于腾讯云音视频终端 SDK 播放升级及新增授权校验的公告
关于 TRTC 应用订阅套餐服务上线的相关说明
产品简介
产品概述
基本概念
产品功能
产品优势
应用场景
性能数据
购买指南
计费概述
免费时长说明
月订阅
现收现付
TRTC 逾期与暂停政策
常见问题解答
退款说明
新手指引
Demo 体验
视频通话 SDK
组件介绍
开通服务
跑通 Demo
快速接入
离线唤醒
会话聊天
云端录制
AI 降噪
界面定制
Chat 集成通话能力
更多特性
无 UI 集成
服务端 API
客户端 API
解决方案
错误码表
发布日志
常见问题
视频会议 SDK
组件介绍(TUIRoomKit)
开通服务(TUIRoomKit)
跑通 Demo(TUIRoomKit)
快速接入(TUIRoomKit)
屏幕共享(TUIRoomKit)
预定会议(TUIRoomKit)
会中呼叫(TUIRoomKit)
界面定制(TUIRoomKit)
虚拟背景(TUIRoomKit)
会议控制(TUIRoomKit)
云端录制(TUIRoomKit)
AI 降噪(TUIRoomKit)
会中聊天(TUIRoomKit)
机器人推流(TUIRoomKit)
更多特性(TUIRoomKit)
客户端 API(TUIRoomKit)
服务端 API(TUIRoomKit)
常见问题(TUIRoomKit)
错误码 (TUIRoomKit)
SDK更新日志(TUIRoomKit)
直播与语聊 SDK
Live 视频直播计费说明
组件介绍
开通服务(TUILiveKit)
跑通 Demo
无 UI 集成
UI 自定义
直播监播
视频直播
语聊房
高级功能
客户端 API
服务端 API
错误码
发布日志
常见问题
RTC Engine
开通服务
SDK 下载
API-Example
接入指引
API-参考手册
高级功能
AI 集成
概述
MCP 配置
Skills 配置
集成指南
常见问题
RTC RESTFUL API
History
Introduction
API Category
Room Management APIs
Stream mixing and relay APIs
On-cloud recording APIs
Data Monitoring APIs
Pull stream Relay Related interface
Web Record APIs
AI Service APIs
Cloud Slicing APIs
Cloud Moderation APIs
Making API Requests
Call Quality Monitoring APIs
Usage Statistics APIs
Data Types
Appendix
Error Codes
控制台指南
应用管理
套餐包管理
用量统计
监控仪表盘
开发辅助
解决方案
实时合唱
常见问题
迁移指南
计费相关
功能相关
UserSig 相关
应对防火墙限制相关
缩减安装包体积相关
Andriod 与 iOS 相关
Web 端相关
Flutter 相关
Electron 相关
TRTCCalling Web 相关
音视频质量相关
其他问题
旧版文档
RTC RoomEngine SDK(旧)
集成 TUIRoom (Web)
集成 TUIRoom (Android)
集成 TUIRoom (iOS)
集成 TUIRoom (Flutter)
集成 TUIRoom (Electron)
TUIRoom API 查询
实现云端录制与回放(旧)
监控仪表盘计费(旧)
协议与策略
安全合规认证
安全白皮书
信息安全说明
服务等级协议
苹果隐私策略:PrivacyInfo.xcprivacy
TRTC 政策
隐私协议
数据处理和安全协议
词汇表

自定义房间信息

PDF
聚焦模式
字号
最后更新时间: 2025-06-23 14:39:26
本文档主要介绍如何使用 RTC Room Engine SDK 实现自定义房间信息。

前提条件

在使用 RTC RoomEngine SDK 前,您需要先调用 登录 SDK,以便后续功能正常使用。
只有当您是主播时,设置的直播间信息才会生效。您可以参见 语聊开播与收听视频开播与观看 来完成直播间的创建。

使用指引

说明:
使用自定义房间信息功能时,请确保您是房主或者管理员。房间类型为 live。

设置房间信息:

iOS
Android
您需要准备好需要设置的参数TUILiveInfo,接下来进行详细介绍:
参数:TUILiveInfo
TUILiveInfo 由很多的字段构成,但通常您只需要关心如下几个字段的填写:
参数名称
类型
描述
activityStatus
Int
直播间活跃状态:用户自定义标记。
backgroundUrl
String
直播间背景,最大支持 200 个字节。
categoryList
List<Int>
直播间分类标签,单个房间最大支持3个标记。
coverUrl
String
直播间封面,最大支持 200 个字节。
isPublicVisible
Bool
直播间是否公开,设置为 true 后即可在 房间列表 中被显示。
在准备好 TUILiveInfo 之后,便可以通过调用setLiveInfo接口设置直播间信息。
您需要准备好需要设置的参数LiveInfo,接下来进行详细介绍:
参数:LiveInfo
LiveInfo 由很多的字段构成,但通常您只需要关心如下几个字段的填写:
参数名称
类型
描述
activityStatus
Int
直播间活跃状态: 用户自定义标记。
backgroundUrl
String
直播间背景,最大支持 200 个字节。
categoryList
List<Int>
直播间分类标签,单个房间最大支持3个标记。
coverUrl
String
直播间封面,最大支持 200 个字节。
isPublicVisible
Bool
直播间是否公开,设置为 true 后即可在 房间列表 中被显示。
在准备好 TUILiveInfo 之后,便可以通过调用setLiveInfo接口设置直播间信息。
示例:
iOS
Android
import RTCRoomEngine

let roomEngine = TUIRoomEngine.sharedInstance()
let liveListManager = roomEngine.getExtension(extensionType: .liveListManager) as? TUILiveListManager

let liveInfo = TUILiveInfo()
liveInfo.backgroundUrl = "backgroundUrl" // 替换为您需要的直播间背景图片
liveInfo.coverUrl = "coverUrl" // 替换为您需要的直播间封面图片
liveInfo.isPublicVisible = true // 直播间公开
liveInfo.categoryList = [1, 2] // 可替换为您业务中的直播间分类

let modifyFlag: TUILiveModifyFlag = [.backgroundUrl, .coverUrl, .publish, .category] // 这里为您所修改的类别

liveListManager?.setLiveInfo(liveInfo, modifyFlag: modifyFlag) {
// 设置直播间信息成功
} onError: { code, message in
// 设置直播间信息失败
}
TUIRoomEngine roomEngine = TUIRoomEngine.sharedInstance();
TUILiveListManager liveListManager = (TUILiveListManager) roomEngine.getExtension(TUICommonDefine.ExtensionType.LIVE_LIST_MANAGER);

TUILiveListManager.LiveInfo liveInfo = new TUILiveListManager.LiveInfo();
liveInfo.backgroundUrl = "backgroundUrl"; // 替换为您需要的直播间背景图片
liveInfo.coverUrl = "coverUrl"; // 替换为您需要的直播间封面图片
liveInfo.isPublicVisible = true; // 直播间公开
liveInfo.categoryList =new ArrayList<>(Arrays.asList(1, 2)); // 可替换为您业务中的直播间分类


List<TUILiveListManager.LiveModifyFlag> modifyFlag = new ArrayList<>();
// 下面为您所修改的类别
modifyFlag.add(TUILiveListManager.LiveModifyFlag.BACKGROUND_URL);
modifyFlag.add(TUILiveListManager.LiveModifyFlag.COVER_URL);
modifyFlag.add(TUILiveListManager.LiveModifyFlag.PUBLISH);
modifyFlag.add(TUILiveListManager.LiveModifyFlag.CATEGORY);
liveListManager.setLiveInfo(liveInfo, modifyFlag, new TUIRoomDefine.ActionCallback() {
@Override
public void onSuccess() {
// 设置直播间信息成功
}
@Override
public void onError(TUICommonDefine.Error error, String message) {
// 设置直播间信息失败
}
});

修改房间名称:

使用updateRoomNameByAdmin API修改房间名称。SDK会通过onRoomNameChanged 回调通知房间内用户。
此函数仅有房主或管理员可以调用。
示例:
iOS
Android
import RTCRoomEngine

let roomEngine = TUIRoomEngine.sharedInstance()
let name = "New Name" //替换为您的真实用户名
roomEngine.updateRoomNameByAdmin(roomName: newName) {
//修改房间名成功
} onError: { code, message in
//修改房间名失败
}
TUIRoomEngine roomEngine = TUIRoomEngine.sharedInstance();
String newName = ""; //替换为你需要的newName
roomEngine.updateRoomNameByAdmin(newName ,new TUIRoomDefine.ActionCallback() {
@Override
public void onSuccess() {
//修改房间名成功
}

@Override
public void onError(TUICommonDefine.Error error, String message) {
//修改房间名成功
}
});

自定义房间信息:

使用setRoomMetadataByAdmin API设置房间自定义信息,已有该属性则更新其 value 值,没有则添加该属性。
此函数仅有房主或管理员可以调用,且此函数仅支持直播房间类型为Live
示例:
iOS
Android
import RTCRoomEngine

let roomEngine = TUIRoomEngine.sharedInstance()
roomEngine.setRoomMetadataByAdmin([key:value], onSuccess: {
//设置自定义数据成功
}, onError: {code ,message in
//设置自定义数据失败
})
TUIRoomEngine roomEngine = TUIRoomEngine.sharedInstance();

// 准备要设置或更新的元数据键值对
HashMap<String, String> metadataToUpdate = new HashMap<>(); 请填入您想要的键值对
metadataToUpdate.put("is_recording", "true"); // 设置是否正在录制,此处仅为举例

roomEngine.setRoomMetadataByAdmin(metadataToUpdate, new TUIRoomDefine.ActionCallback() {
@Override
public void onSuccess() {
// 设置成功的回调
}

@Override
public void onError(int errorCode, String errorMessage) {
// 设置失败的回调
}
});

获取房间自定义信息:

当设置自定义信息完成之后,您可以调用getRoomMetadata接口来获取当前直播间的全部或指定的信息。
此函数仅有房主或管理员可以调用,且此函数仅支持直播房间类型为Live
示例:
iOS
Android
import RTCRoomEngine

let roomEngine = TUIRoomEngine.sharedInstance()
let keys: [String] = [""]//参数传入房间自定义信息 key 列表, 如果 keys 传空则获取所有自定义信息

roomEngine.getRoomMetadata(array) { metadata in
//获取自定义信息成功
} onError: { code, message in
//获取自定义信息失败
}
TUIRoomEngine roomEngine = TUIRoomEngine.sharedInstance();

List<String> keysToQuery = new ArrayList<>();//替换为您需要查询的列表
roomEngine.getRoomMetadata(keysToQuery, new TUIRoomDefine.GetRoomMetadataCallback() {
@Override
public void onSuccess(Map<String, String> metadata) {
// 成功回调
}

@Override
public void onError(int errorCode, String errorMessage) {
// 失败回调
}
});


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈