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 政策
隐私协议
数据处理和安全协议
词汇表

观众观看(React Native)

PDF
聚焦模式
字号
最后更新时间: 2026-01-23 11:13:45
本文将介绍如何快速集成观众观看页,体验观众进入主播的直播间后观看直播、观众连麦 、查看直播间信息、查看在线观众、发送礼物、点赞,弹幕互动等功能。

功能预览

观众观看页提供默认的行为和样式,但如果默认行为和样式不能完全满足您的需求,您也可以对 UI 进行自定义。


快速接入

步骤 1. 开通服务

参考 开通服务 文档领取 TUILiveKit 体验版或开通专业版套餐。

步骤 2. 代码集成

1. 参考 准备工作 接入 TUILiveKit
2. 确保您的项目中已经安装 react-native-safe-area-context,如未安装,运行下列命令进行安装:
yarn add react-native-safe-area-context

步骤 3. 添加观众观看页面

react-native-tuikit-live 已内置了直播场景的观众端完整 UI 与业务逻辑。您只需要配置 LiveAudiencePage 的调用入口(具体由您的业务决定),执行如下操作,跳转到观众观看页面。
说明:
本示例使用 useState 进行简单的页面切换演示。在实际项目中,建议使用 React Navigation 等导航库进行页面管理。如需了解如何集成导航库,请参考 React Navigation 官方文档
/**
* 简单导航示例 - 使用 useState 管理页面跳转
*/
import React, { useState } from 'react';
import { View, Button, StyleSheet } from 'react-native';
import { SafeAreaProvider } from 'react-native-safe-area-context';
import { LiveAudiencePage } from 'react-native-tuikit-live';
import { useLiveListState } from 'react-native-tuikit-atomic-x';

type PageType = 'home' | 'liveAudience' | 'liveEnd';

function MyApp() {

// 实际业务中,liveID 通常来自:
// 1. 从直播列表页面点击进入时传递的参数
// 2. 从路由参数中获取
// 3. 从服务器接口获取
// 此处使用 '1234' 仅作为示例
const liveID = '1234'
const { joinLive } = useLiveListState(liveID)

const [currentPage, setCurrentPage] = useState<PageType>('home');
const [endedLiveID, setEndedLiveID] = useState<string>('');


// 跳转到观众观看页面
const handleJumpLiveAudience = async () => {
await joinLive({
liveID,
onSuccess: () => {
setCurrentPage('liveAudience');
},
onError: (error) => {
console.error('加入直播间失败:', error);
// 处理错误,如提示用户
}
})
};

// 从观众观看页面返回
const handleBackFromAudience = () => {
setCurrentPage('home');
};

// 直播结束
const handleEndLive = (liveID?: string) => {
setEndedLiveID(liveID || '');
setCurrentPage('liveEnd');
};

return (
<SafeAreaProvider>
{currentPage === 'home' && (
<View style={styles.container}>
<Button title="进入观众观看" onPress={handleJumpLiveAudience} />
</View>
)}

{currentPage === 'liveAudience' && (
<LiveAudiencePage
onBack={handleBackFromAudience}
onEndLive={handleEndLive}
/>
)}

{currentPage === 'liveEnd' && (
<View style={styles.container}>
<Button title="返回首页" onPress={() => setCurrentPage('home')} />
</View>
)}
</SafeAreaProvider>
);
}


const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
});


export default MyApp;


自定义界面布局

TUILiveKit 支持灵活定制观众观看页的功能和样式,您可根据业务需求调整布局。

图标定制

TUILiveKit 用到的所有图标都存放于 tuikit-atomic-x/src/static/images 目录下,部分示例如下,您可以根据您的诉求来替换目录下的图标。
图标路径
详细描述
/static/images/dashboard.png
底部操作栏的“仪表盘”图标。
/static/images/link-guest.png
底部操作栏的“申请连麦”图标。
/static/images/live-gift.png
底部操作栏的“礼物”图标。
/static/images/live-like.png
底部操作栏的“点赞”图标。
/static/images/close.png
顶部操作栏的“离开直播间”图标。
重新构建并运行应用,即可看到更新的图标。

文案定制

TUILiveKit 的 UI 文案显示有统一文件管理。您可以直接编辑 tuikit-atomic-x/src/locales/ 目录下的 json 文件来修改需要调整的文案。

zh.json - 中文文案
en.json - 英文文案
重新构建并运行应用,即可看到更新的文案。

新增按钮

下方以视频区域左上角新增“点赞数量”按钮为例, 您可以直接编辑live/src/pages/LiveAudience/index.tsx进行按钮的新增。

<View style={{ flex: 1 }}>
{/* ...其他内容... */}
<View
style={{
position: 'absolute',
top: 100,
left: 15,
width: 100,
height: 30,
backgroundColor: 'rgba(0, 0, 0, 0.3)',
borderRadius: 22.5,
flexDirection: 'row',
justifyContent: 'center',
alignItems: 'center',
}}
>
{/* 图片地址可以替换为您的资源地址 */}
<Image
style={{ width: 18, height: 18 }}
source={require('/static/images/gift_heart0.png')}
resizeMode="contain"
/>
<Text style={{ color: '#fff', fontSize: 12 }}>8888</Text>
</View>
</View>
最终效果:


隐藏按钮

隐藏按钮可以通过注释代码的方式直接隐藏,下方以“礼物”的按钮为例:
{/* <TouchableOpacity
style={styles.actionBtn}
onPress={showGiftPicker}
activeOpacity={0.7}>
<Image
source={require('react-native-tuikit-atomic-x/src/static/images/live-gift.png')}
style={styles.actionBtnIcon}
resizeMode="contain"
/>
</TouchableOpacity> */}

下一步

恭喜您,现在您已经成功集成了观众观看功能。接下来,您可以实现主播开播直播列表等功能,可参考下表:
功能
描述
集成指引
主播开播
主播开播全流程功能,包括开播前的准备和开播后的各种互动。
直播列表
展示直播列表界面和功能,包含直播列表,房间信息展示功能。

常见问题

观众发送弹幕时,直播间内其他观众看不到弹幕内容?

原因 1:先检查网络连接,确保观众设备网络正常。
原因 2:该观众被主播禁言,无法发送弹幕。
原因 3:观众的弹幕内容涉及关键词屏蔽,请确认观众发送的弹幕内容是否符合直播间规则。

如何展示观众等级?

您的业务中若是有需要展示观众等级的需求,可以在目标位置插入对应的元素用于展示观众等级,这里以观众列表展示观众等级为例。在 tuikit-atomic-x/src/components/LiveAudienceList.tsx 组件中找到观众信息展示的代码,并在其中插入观众等级展示代码。
<View style={styles.audienceInfo}>
.......
{/* 观众等级 */}
<Text style={styles.audienceLevel}>{level}</Text>
<View style={styles.audienceAvatarContainer}>
<Image source={{ uri: avatarURL }} style={styles.audienceAvatar} />
</View>
</View>


帮助和支持

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

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

文档反馈