产品动态
产品近期公告
关于 TRTC Live 正式上线的公告
关于TRTC Conference 正式版上线的公告
Conference 商业化版本即将推出
关于多人音视频 Conference 开启内测公告
关于音视频通话 Call 正式版上线的公告
关于腾讯云音视频终端 SDK 播放升级及新增授权校验的公告
关于 TRTC 应用订阅套餐服务上线的相关说明

TUILiveKit。react-native-safe-area-context,如未安装,运行下列命令进行安装:yarn add react-native-safe-area-context
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' && (<LiveAudiencePageonBack={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 }}>{/* ...其他内容... */}<Viewstyle={{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',}}>{/* 图片地址可以替换为您的资源地址 */}<Imagestyle={{ width: 18, height: 18 }}source={require('/static/images/gift_heart0.png')}resizeMode="contain"/><Text style={{ color: '#fff', fontSize: 12 }}>8888</Text></View></View>

{/* <TouchableOpacitystyle={styles.actionBtn}onPress={showGiftPicker}activeOpacity={0.7}><Imagesource={require('react-native-tuikit-atomic-x/src/static/images/live-gift.png')}style={styles.actionBtnIcon}resizeMode="contain"/></TouchableOpacity> */}
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>
文档反馈