产品动态
产品近期公告
关于 TRTC Live 正式上线的公告
关于TRTC Conference 正式版上线的公告
Conference 商业化版本即将推出
关于多人音视频 Conference 开启内测公告
关于音视频通话 Call 正式版上线的公告
关于腾讯云音视频终端 SDK 播放升级及新增授权校验的公告
关于 TRTC 应用订阅套餐服务上线的相关说明
开播前预览 | 连麦互动 | 观众互动 | 直播间管理 |
![]() | ![]() | ![]() | ![]() |
AnchorPrepareView 组件已内置了摄像头预览、音效设置、布局设置、以及其他功能设置,您需创建并加载 AnchorPrepareView ,具体示例代码如下:import android.os.Bundleimport androidx.appcompat.app.AppCompatActivityimport com.trtc.uikit.livekit.features.anchorprepare.AnchorPrepareViewclass AnchorActivity : AppCompatActivity() {lateinit var anchorPrepareView: AnchorPrepareViewoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)// 1.创建并初始化 AnchorPrepareViewanchorPrepareView = AnchorPrepareView(this)anchorPrepareView.init("live_1235858", null)// 2.将 AnchorPrepareView 添加到界面setContentView(anchorPrepareView)}}
import android.os.Bundle;import androidx.appcompat.app.AppCompatActivity;import com.trtc.uikit.livekit.features.anchorprepare.AnchorPrepareView;public class AnchorActivity extends AppCompatActivity {private AnchorPrepareView anchorPrepareView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 1.创建并初始化 AnchorPrepareViewanchorPrepareView = new AnchorPrepareView(this);anchorPrepareView.init("live_1235858", null);// 2.将 AnchorPrepareView 添加到界面setContentView(anchorPrepareView);}}
AnchorView 组件已内置了音视频推流、观众连麦、直播互动、直播管理等功能,您只需创建并加载AnchorView ,具体示例代码如下:import android.os.Bundleimport androidx.appcompat.app.AppCompatActivityimport com.trtc.uikit.livekit.features.anchorboardcast.AnchorViewimport com.trtc.uikit.livekit.features.anchorboardcast.RoomBehaviorimport com.trtc.uikit.livekit.features.anchorprepare.AnchorPrepareViewimport com.trtc.uikit.livekit.features.anchorprepare.LiveStreamPrivacyStatusimport io.trtc.tuikit.atomicxcore.api.live.LiveInfoclass AnchorActivity : AppCompatActivity() {lateinit var anchorPrepareView: AnchorPrepareViewoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)// 1.创建并初始化 AnchorPrepareViewanchorPrepareView = AnchorPrepareView(this)anchorPrepareView.init("live_1235858", null)// 2.将 AnchorPrepareView 添加到界面setContentView(anchorPrepareView)}fun initAnchorView() {// 1.创建 AnchorViewval anchorView = AnchorView(this)// 2.初始化 AnchorView,其中 liveInfo 为直播间信息,anchorPrepareView 为您的开播前的准备页面val liveInfo = LiveInfo()liveInfo.liveID = "live_1236666"liveInfo.liveName = anchorPrepareView.getState()?.roomName?.getValue() ?: ""liveInfo.isPublicVisible = anchorPrepareView.getState()?.liveMode?.getValue() == LiveStreamPrivacyStatus.PUBLICliveInfo.coverURL = anchorPrepareView.getState()?.coverURL?.getValue() ?: ""liveInfo.seatTemplate = SeatLayoutTemplate.VideoDynamicGrid9Seats// 进房行为:// RoomBehavior.CREATE_ROOM: 主播创建房间// RoomBehavior.ENTER_ROOM: 观众进入房间anchorView.init(liveInfo, anchorPrepareView.getCoreView(), RoomBehavior.CREATE_ROOM, null)// 3.将 AnchorView 添加到界面setContentView(anchorView)}}
import android.os.Bundle;import androidx.appcompat.app.AppCompatActivity;import com.trtc.uikit.livekit.features.anchorboardcast.AnchorView;import com.trtc.uikit.livekit.features.anchorboardcast.RoomBehavior;import com.trtc.uikit.livekit.features.anchorprepare.AnchorPrepareView;import com.trtc.uikit.livekit.features.anchorprepare.LiveStreamPrivacyStatus;import io.trtc.tuikit.atomicxcore.api.live.LiveInfo;public class AnchorActivity extends AppCompatActivity {private AnchorPrepareView anchorPrepareView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 1.创建并初始化 AnchorPrepareViewanchorPrepareView = new AnchorPrepareView(this);anchorPrepareView.init("live_1235858", null);// 2.将 AnchorPrepareView 添加到界面setContentView(anchorPrepareView);}private void initAnchorView() {// 1.创建 AnchorViewAnchorView anchorView = new AnchorView(this);// 2.初始化 AnchorViewLiveInfo liveInfo = new LiveInfo();liveInfo.setLiveID("live_1236666");liveInfo.setLiveName(anchorPrepareView.getState().roomName.getValue());liveInfo.setPublicVisible(anchorPrepareView.getState().liveMode.getValue() == LiveStreamPrivacyStatus.PUBLIC);liveInfo.setCoverURL(anchorPrepareView.getState().coverURL.getValue());liveInfo.setSeatTemplate(SeatLayoutTemplate.VideoDynamicGrid9Seats);// 进房行为:// RoomBehavior.CREATE_ROOM: 主播创建房间// RoomBehavior.ENTER_ROOM: 观众进入房间anchorView.init(liveInfo, anchorPrepareView.getCoreView(), RoomBehavior.CREATE_ROOM, null);// 3.将 AnchorView 添加到界面setContentView(anchorView);}
TUILiveKit 提供 4 种直播布局模板,您可在主播开播页的 UI 交互「布局」入口 选择合适样式:
名称 | 动态宫格布局 | 浮动小窗布局 | 固定宫格布局 | 固定小窗布局 |
模板 ID | VideoDynamicGrid9Seats | VideoDynamicFloat7Seats | VideoFixedGrid9Seats | VideoFixedFloat7Seats |
描述 | 默认布局,可根据连麦人数动态调整宫格大小。 | 连麦嘉宾以浮动小窗形式显示。 | 连麦人数固定,每个嘉宾占据一个固定宫格。 | 连麦人数固定,嘉宾以固定小窗形式显示。 |
预览 | ![]() | ![]() | ![]() | ![]() |
import android.os.Bundleimport androidx.appcompat.app.AppCompatActivityimport com.trtc.uikit.livekit.features.anchorprepare.AnchorPrepareViewclass AnchorActivity : AppCompatActivity() {lateinit var anchorPrepareView: AnchorPrepareViewoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)anchorPrepareView = AnchorPrepareView(this)anchorPrepareView.init("live_1235858", null)// 1. 自定义功能区 - 例如:隐藏整个功能区anchorPrepareView.disableFeatureMenu(true)setContentView(anchorPrepareView)}}
import android.os.Bundle;import androidx.appcompat.app.AppCompatActivity;import com.trtc.uikit.livekit.features.anchorprepare.AnchorPrepareView;public class AnchorActivity extends AppCompatActivity {private AnchorPrepareView anchorPrepareView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);anchorPrepareView = new AnchorPrepareView(this);anchorPrepareView.init("live_1235858", null);// 1. 自定义功能区 - 示例:隐藏整个功能区anchorPrepareView.disableFeatureMenu(true);setContentView(anchorPrepareView);}}
隐藏整个功能区 | 隐藏美颜按钮 | 隐藏音效按钮 | 隐藏摄像头切换按钮 |
disableFeatureMenu(true) | disableMenuBeautyButton(true) | disableMenuAudioEffectButton(true) | disableMenuSwitchCameraButton(true) |
![]() | ![]() | ![]() | ![]() |
import android.os.Bundleimport androidx.appcompat.app.AppCompatActivityimport com.trtc.uikit.livekit.features.anchorboardcast.AnchorViewimport com.trtc.uikit.livekit.features.anchorboardcast.RoomBehaviorimport com.trtc.uikit.livekit.features.anchorprepare.AnchorPrepareViewimport com.trtc.uikit.livekit.features.anchorprepare.AnchorPrepareViewListenerimport com.trtc.uikit.livekit.features.anchorprepare.LiveStreamPrivacyStatusimport io.trtc.tuikit.atomicxcore.api.live.LiveInfoclass AnchorActivity : AppCompatActivity() {...fun initAnchorView() {val anchorView = AnchorView(this)val liveInfo = LiveInfo()liveInfo.liveID = "live_1236666"liveInfo.liveName = anchorPrepareView.getState()?.roomName?.getValue() ?: ""liveInfo.isPublicVisible = anchorPrepareView.getState()?.liveMode?.getValue() == LiveStreamPrivacyStatus.PUBLICliveInfo.coverURL = anchorPrepareView.getState()?.coverURL?.getValue() ?: ""liveInfo.seatTemplate = SeatLayoutTemplate.VideoDynamicGrid9SeatsanchorView.init(liveInfo, anchorPrepareView.getCoreView(), RoomBehavior.CREATE_ROOM, null)// 1. 自定义功能区 - 示例:隐藏主播连线功能anchorView.disableFooterCoHost(true)setContentView(anchorView)}}
import android.os.Bundle;import androidx.appcompat.app.AppCompatActivity;import com.trtc.uikit.livekit.features.anchorboardcast.AnchorView;import com.trtc.uikit.livekit.features.anchorboardcast.RoomBehavior;import com.trtc.uikit.livekit.features.anchorprepare.AnchorPrepareView;import com.trtc.uikit.livekit.features.anchorprepare.AnchorPrepareViewListener;import com.trtc.uikit.livekit.features.anchorprepare.LiveStreamPrivacyStatus;import io.trtc.tuikit.atomicxcore.api.live.LiveInfo;public class AnchorActivity extends AppCompatActivity {...private void initAnchorView() {AnchorView anchorView = new AnchorView(this);LiveInfo liveInfo = new LiveInfo();liveInfo.setLiveID("live_1236666");liveInfo.setLiveName(anchorPrepareView.getState().roomName.getValue());liveInfo.setPublicVisible(anchorPrepareView.getState().liveMode.getValue() == LiveStreamPrivacyStatus.PUBLIC);liveInfo.setCoverURL(anchorPrepareView.getState().coverURL.getValue());liveInfo.setSeatLayoutTemplateID(anchorPrepareView.getState().seatTemplate.getValue());liveInfo.setSeatTemplate(SeatLayoutTemplate.VideoDynamicGrid9Seats);anchorView.init(liveInfo, anchorPrepareView.getCoreView(), RoomBehavior.CREATE_ROOM, null);// 1. 自定义功能区 - 示例:隐藏主播连线功能anchorView.disableFooterCoHost(true);setContentView(anchorView);}
隐藏顶部观众列表功能 | 隐藏底部观众连麦功能 | 隐藏底部主播连线功能 | 隐藏底部主播 PK 功能 |
disableHeaderVisitorCnt(true) | disableFooterCoGuest(true) | disableFooterCoHost(true) | disableFooterBattle(true) |
![]() | ![]() | ![]() | ![]() |
XML 文件修改需要调整的文案:
drawable 资源文件夹管理 UI 所需的图片资源,您可以通过替换资源文件快速修改自定义界面所需的图标,替换时请确保新的文件名称与原文件名称一致。

文档反馈