tencent cloud

实时音视频

观众列表组件(Android)

Download
聚焦模式
字号
最后更新时间: 2026-07-01 18:00:11
观众列表组件(AudienceListView)封装了直播间在线人数展示和观众列表弹窗功能。您可以轻松地将其集成到您的 UI 中,为您的直播间添加观众互动的基础能力。

效果展示



快速开始

步骤1:开通服务

请参考 开通服务,领取 TUILiveKit 体验版或者开通专业版。

步骤2:代码集成

请参考 准备工作 接入 TUILiveKit

步骤3:集成观众列表组件

您可以通过代码或 XML 两种方式创建 AudienceListView
在代码中创建:
AudienceListView audienceListView = new AudienceListView(getContext());
在 XML 布局文件中定义:
<com.trtc.uikit.livekit.component.audiencelist.AudienceListView
android:id="@+id/audience_list_view"
android:layout_width="135dp"
android:layout_height="24dp"
android:layout_gravity="end" />

步骤4:初始化组件

在成功进入直播间后,调用 AudienceListViewinit 方法,以绑定数据和事件。
说明:
此操作必须在进房成功的回调中执行。
audienceListView.init(roomInfo);

自定义组件

观众列表组件提供了直播间内的观众点击回调接口,该回调支持您根据自己的业务需求实现直播间内的观众管理。

组件接口

接口
参数
说明
onUserItemClick
LiveUserInfo
观众列表点击回调。

实现观众管理

默认情况下,点击观众列表中的用户会弹出管理弹框。您可以通过实现 onUserItemClick 回调,并通过 LiveAudienceStore 来执行具体操作,例如实现将用户踢出直播间的功能:
import android.os.Bundle
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import com.tencent.cloud.tuikit.engine.extension.TUILiveListManager
import com.trtc.uikit.livekit.R
import com.trtc.uikit.livekit.component.audiencelist.AudienceListView
import io.trtc.tuikit.atomicxcore.api.live.LiveAudienceStore
import io.trtc.tuikit.atomicxcore.api.live.LiveUserInfo


class YourAnchorActivity : AppCompatActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_your_anchor)
// 1.定义观众列表组件
var audienceListView = AudienceListView(this@YourAnchorActivity)
var liveInfo = TUILiveListManager.LiveInfo().apply {
roomId = "yourLiveId"
}
// 注意:以下初始化和设置监听器的代码,需要放在进房成功的回调函数中执行。
// 此处为简化示例,实际开发中请在进房成功回调中调用。
// 2.初始化组件,传入直播间信息
audienceListView.init(liveInfo)
// 3.设置监听器,监听用户点击事件
audienceListView.setOnUserItemClickListener(object :
AudienceListView.OnUserItemClickListener {
override fun onUserItemClick(userInfo: LiveUserInfo) {
// 4.处理用户点击事件,例如踢出直播间
kickUserOutOfRoom(liveInfo.roomId, userInfo)
}
})
}


private fun kickUserOutOfRoom(liveId: String, userInfo: LiveUserInfo) {
AlertDialog.Builder(this@YourAnchorActivity)
.setTitle("观众管理")
.setMessage("您是否要将${userInfo.userName}踢出直播间")
.setPositiveButton("确定") { dialog, which ->
LiveAudienceStore.create(liveId).kickUserOutOfRoom(userInfo.userID, null)
dialog.dismiss()
}
.setNegativeButton("取消") { dialog, which ->
dialog.dismiss()
}
.create()
.show()
}
}

帮助和支持

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

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

文档反馈