注意:集成提示:
注意:这篇档介绍基于 UI 组件 的观众进房方式(含完整交互 UI)。若你需通过 Core SDK 自行搭建观众端界面,请参考 观众观看 (Core SDK)。
一、功能概览
·收听直播: 清晰、流畅地收听主播的实时音频直播。
·上麦互动: 申请上麦,与主播进行音频连麦互动。
·直播间信息: 查看直播间公告,及在线观众列表等信息。
·观众互动: 支持弹幕、礼物、点赞 等丰富的直播互动形式。
| 收听直播 | 上麦互动 | 直播间信息 | 观众互动 |
| | | | |
二、步骤1:开通服务
参考 开通服务 文档开通「体验版」或「大规模直播版」套餐。
三、步骤2:代码集成
参考 准备工作 接入 TUILiveKit。
四、步骤3:创建并展示语聊房视图控制器
VoiceRoomActivity 组件已内置了语聊房场景的观众端完整 UI 与业务逻辑。你只需启动该 Activity ,即可快速实现观众进入直播间功能。通常在 直播列表 点击房间时,你需要跳转到观众观看页,可参考如下代码示例:
import android.content.Intentimport androidx.appcompat.app.AppCompatActivityimport com.trtc.uikit.livekit.voiceroom.view.TUIVoiceRoomFragment.RoomBehavior.JOINimport com.trtc.uikit.livekit.voiceroom.view.VoiceRoomActivity// YourLiveListActivity 代表你的直播列表页面class YourLiveListActivity : AppCompatActivity() { // 响应“点击直播间” fun onJoinVoiceRoomClicked(roomId: String) { // 1. 准备 Intent,并传入必要参数 // – roomId: 你要加入的直播间 ID // – behavior: VoiceRoomDefine.RoomBehavior.JOIN 代表以“观众”身份加入房间 val intent = Intent(this, VoiceRoomActivity::class.java).apply { putExtra(VoiceRoomActivity.INTENT_KEY_ROOM_ID, roomId) putExtra(VoiceRoomActivity.INTENT_KEY_ROOM_BEHAVIOR, JOIN.ordinal) } // 2. 跳转到语聊房页面 startActivity(intent) }}
Intent Extra 参数说明:
| 参数名 | 类型 | 描述 |
| VoiceRoomActivity.INTENT_KEY_ROOM_ID | string | 全局唯一的直播间 Id。 |
| VoiceRoomActivity.INTENT_KEY_ROOM_BEHAVIOR | Int | 进房行为:AUTO_CREATE:自动创建直播间并进房。PREPARE_CREATE: 先进入开播前预览页,用户点击“开始直播”后创建直播间并进房。JOIN:观众进房。 |
五、自定义你的界面
TUILiveKit 提供了界面定制能力,以满足多样化的业务需求。 你可以轻松自定义界面中的文案和图标。
六、文案修改
TUILiveKit 使用 Android 标准的 字符串资源 (strings.xml) 来管理 UI 所需的文案显示。你可以直接修改 tuilivekit 模块中的 strings.xml 文件,以实现文案自定义。
七、图标替换
TUILiveKit 使用 drawable 资源来管理 UI 所需的图片资源。你可以直接在 tuilivekit 模块的 res/drawable 目录下替换同名图片资源,以实现图标替换。
八、下一步
恭喜你,现在你已经成功集成了观众观看。接下来,你可以实现主播开播、直播列表等功能,可参考下表:
| 功能 | 描述 | 集成指引 |
| 主播开播 | 主播开播全流程功能,包括开播前的准备和开播后的各种互动 | 主播开播 |
| 直播列表 | 展示直播列表界面和功能,包含直播列表,房间信息展示功能 | 直播列表 |
| 礼物系统 | 实现自定义礼物素材配置、计费系统对接、PK 场景互动等功能 | 礼物系统 |
九、观众上麦后,说话没有声音?
请检查是否已授予 App 麦克风权限。你可以前往手机 应用信息 > 权限 > 麦克风,检查“麦克风”权限是否已开启。
十、观众发送弹幕时,直播间内其他观众看不到弹幕内容?
·原因 1: 先检查网络连接,确保观众设备网络正常。
·原因 2: 该观众被主播禁言,无法发送弹幕。
·原因 3: 观众的弹幕内容涉及关键词屏蔽,请确认观众发送的弹幕内容是否符合直播间规则。