产品动态
产品近期公告
关于 TRTC Live 正式上线的公告
关于TRTC Conference 正式版上线的公告
Conference 商业化版本即将推出
关于多人音视频 Conference 开启内测公告
关于音视频通话 Call 正式版上线的公告
关于腾讯云音视频终端 SDK 播放升级及新增授权校验的公告
关于 TRTC 应用订阅套餐服务上线的相关说明
开播前预览 | 连麦互动 | 观众互动 |
![]() | ![]() | ![]() |
TUILiveRoomAnchorWidget 已内置了直播场景的主播端完整 UI 与业务逻辑,该组件不支持浮窗模式,如需浮窗功能请转到 添加浮窗版主播页面。您只需要配置 TUILiveRoomAnchorWidget 的调用入口(具体由您的业务决定),执行如下操作,跳转到主播页面或将主播页面集成到自己的 Widget 树中:import 'package:tencent_live_uikit/tencent_live_uikit.dart';// 跳转到主播页面Navigator.push(context, MaterialPageRoute(builder: (BuildContext context) {final roomId = "test_live_room_id";return TUILiveRoomAnchorWidget(roomId: roomId);}));
// --- 根据您的Widget树结构,选择以下一种方式集成 ---// [选项一] 作为唯一子Widget(单子树)// 适用于Container、Padding等通常只包含一个子Widget的容器Container(child: TUILiveRoomAnchorWidget(roomId: roomId) // 在此处集成主播页)// [选项二] 作为多个子Widget之一(多子树)// 适用于Column、Row、Stack等可以包含多个子Widget的布局Stack(children: [YourOtherWidget(), // 您的其他子WidgetTUILiveRoomAnchorWidget(roomId: roomId), // 在此处集成主播页YourOtherWidget(), // 您的其他子Widget])
TUILiveRoomAnchorOverlay 是支持浮窗模式的主播页面。在直播期间,可以切换到应用内和应用外(即画中画)2 种场景的浮窗模式。TUILiveRoomAnchorOverlay是基于 Flutter 官方 API Overlay 和原生画中画实现的,具体接入流程如下:import 'package:tencent_live_uikit/tencent_live_uikit.dart';// 跳转到主播页面Navigator.push(context, MaterialPageRoute(builder: (BuildContext context) {final roomId = "test_live_room_id";return TUILiveRoomAnchorOverlay(roomId: roomId);}));
TUILiveRoomAnchorOverlay 不支持作为子 widget 嵌入到容器类 widget (例如:Container、Stack 等),只能作为独立页面跳转。因为内部使用了 Overlay,LiveKit 需要操控整个 Overlay 页面来切换浮窗模式。


名称 | 动态宫格布局 | 浮动小窗布局 | 固定宫格布局 | 固定小窗布局 |
模板 ID | 600 | 601 | 800 | 801 |
描述 | 默认布局,可根据连麦人数动态调整宫格大小。 | 连麦嘉宾以浮动小窗形式显示。 | 连麦人数固定,每个嘉宾占据一个固定宫格。 | 连麦人数固定,嘉宾以固定小窗形式显示。 |
预览 | ![]() | ![]() | ![]() | ![]() |
livekit/lib/common/language/i10n/ 目录下的 ARB 文件来修改需要调整的文案:
livekit_en.arb:英文文案。livekit_zh.arb:简体中文文案。livekit_zh_Hant.arb:繁体中文文案。flutter gen-l10n 重新生成本地化代码即可。生成成功后,livekit/lib/common/language/gen/ 目录里的代码文件将会刷新。livekit/assets/images/ 目录下管理,您可以直接替换该目录下的 PNG 图片文件来快速修改自定义界面所需的图标。
iOS | Android |
![]() | ![]() |

TUILiveRoomAnchorOverlay,请确保弹窗(BottomSheet、Dialog等)的 context 来自于 rootNavigator(建议使用 Global.appContext())。由于直播页面 Overlay 是在 secondaryNavigator 上,如果弹窗的 context 来自于 secondaryNavigator,那么弹窗将会被 Overlay 遮挡。因为同一个 Navigator 上,Overlay 的层级比普通页面要高,这样 Overlay 才能浮在普通页面的上层。文档反馈