tencent cloud

Tencent Real-Time Communication

소식 및 공지 사항
제품 업데이트
Tencent Cloud 오디오/비디오 단말 SDK 재생 업그레이드 및 권한 부여 인증 추가
TRTC 월간 구독 패키지 출시 관련 안내
제품 소개
제품 개요
기본 개념
제품 기능
제품 장점
응용 시나리오
성능 데이터
구매 가이드
Billing Overview
무료 시간 안내
Monthly subscription
Pay-as-you-go
TRTC Overdue and Suspension Policy
과금 FAQ
Refund Instructions
신규 사용자 가이드
Demo 체험
Call
개요(TUICallKit)
Activate the Service
Run Demo
빠른 통합(TUICallKit)
오프라인 푸시
Conversational Chat
온클라우드 녹화(TUICallKit)
AI Noise Reduction
UI 사용자 정의
Calls integration to Chat
Additional Features
No UI Integration
Server APIs
Client APIs
Solution
ErrorCode
릴리스 노트
FAQs
라이브 스트리밍
Billing of Video Live Component
Overview
Activating the Service (TUILiveKit)
Demo 실행
No UI Integration
UI Customization
Live Broadcast Monitoring
Video Live Streaming
Voice Chat Room
Advanced Features
Client APIs
Server APIs
Error Codes
Release Notes
FAQs
RTC Engine
Activate Service
SDK 다운로드
API 코드 예시
Usage Guidelines
API 클라이언트 API
고급 기능
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
콘솔 가이드
애플리케이션 관리
사용량 통계
모니터링 대시보드
개발 보조
Solution
Real-Time Chorus
FAQs
과금 개요
기능 관련
UserSig 관련
방화벽 제한 처리
설치 패키지 용량 축소 관련 질문
Andriod 및 iOS 관련
Web 관련
Flutter 관련
Electron 관련
TRTCCalling Web 관련
멀티미디어 품질 관련
기타 질문
Protocols and Policies
컴플라이언스 인증
보안 백서
정보 보안에 관한 참고 사항
Service Level Agreement
Apple Privacy Policy: PrivacyInfo.xcprivacy
TRTC 정책
개인 정보 보호 정책
데이터 처리 및 보안 계약
용어집

Audience Viewing (Flutter)

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2026-01-15 21:55:07
TUILiveKit’s audience viewing page offers a comprehensive suite of live streaming and interactive features designed for seamless integration into your application. With TUILiveKit, you can quickly deliver a rich live experience tailored to your audience’s needs.

Feature Overview

Live streaming: Clear and smooth viewing of the host's real-time live stream.
Interactive co-guest: Apply for mic connection to interact with the host via audio and video.
Live information: View the live streaming room title, description, and audience list, etc.
Live interactive: Send a gift (with animation effects and host notification), like (with animation and real-time statistics), and interact via bullet screen.
Live Streaming
Interactive co-guest
Live Information
Live Interactive















Quick Start

Step 1. Activate the Service

Refer to the Activate Service document to enable the trial version or activate the Pro Edition package.

Step 2: Install TUILiveKit

Refer to Preparations guide to integrate the TUILiveKit SDK.

Step 3: Add Audience Viewing Page

TUILiveRoomAudienceWidget provides a complete audience-side UI and business logic for live streaming scenarios. This widget does not support floating window mode. If you require floating window, see Add Floating Window (Audience Page).
To launch the audience viewing page or embed it in your widget tree, set up the entry point for calling TUILiveRoomAudienceWidget according to your business logic and use one of the following approaches:
Direct Navigation
Integrate Into Widget Tree
import 'package:tencent_live_uikit/tencent_live_uikit.dart';

// Navigate to the audience viewing page
Navigator.push(context, MaterialPageRoute(
builder: (BuildContext context) {
final roomId = "test_live_room_id";
return TUILiveRoomAudienceWidget(roomId: roomId);
}));
// --- Select one integration method based on your Widget tree structure ---

// [Option one] As the only child Widget (single subtree)
// Suitable for containers like Container, Padding that usually only contain one child Widget
Container(
child: TUILiveRoomAudienceWidget(roomId: roomId) // Integrate audience viewing here
)

// [Option two] As one of multiple child Widgets (multiple subtrees)
// Suitable for layouts like Column, Row, Stack that can contain multiple child Widgets
Stack(
children: [
YourOtherWidget(), // Your other child Widget
TUILiveRoomAudienceWidget(roomId: roomId), // Integrate audience viewing here
YourOtherWidget(), // Your other child Widget
])
After integration, After integration, calling this code will open the audience page and start playback of live stream, as shown in the figure for viewing live stream in Features Overview.

Step 4: (Optional) Add a Floating Window

TUILiveRoomAudienceOverlay enables floating window mode for the audience viewing page. During a live stream, you can switch between in-app and out-of-app (Picture-in-Picture) floating window modes. TUILiveRoomAudienceOverlay is built using Flutter’s official Overlay API and native Picture-in-Picture. To integrate:

1. Enable System Picture-in-Picture

Refer to Project Configuration to enable the system Picture-in-Picture feature.

2. Add a Secondary Navigator

Refer to Floating Live Room Configuration to add a new secondary navigator in the App. This navigator hosts the live streaming page, keeping it separate from your main navigation stack and enabling floating window effects.

3. Navigate to the Floating Window

At the entry point where your audience enters the room (based on your business logic), navigate to the viewing page as follows:
import 'package:tencent_live_uikit/tencent_live_uikit.dart';

// Navigate to the viewing page
Navigator.push(context, MaterialPageRoute(
builder: (BuildContext context) {
final roomId = "test_live_room_id";
return TUILiveRoomAudienceOverlay(roomId: roomId);
}));
Note:
1. TUILiveRoomAudienceOverlay cannot be embedded as a child widget in container widgets (such as Container, Stack, etc.); it must be navigated to as a standalone page. This is because Overlay is used internally, and LiveKit needs to control the entire Overlay page to switch floating window modes.
2. On iOS, only regular audience members can enter out-of-app floating window mode.

Floating Window Mode Effect

Click the floating window button at the top right of the page to enter floating window mode, as shown below:


Out-of-App Floating Window Effect

Tap More > PIP at the bottom of the viewing page to enable Picture-in-Picture. When your app moves to the background, it will automatically enter system Picture-in-Picture mode:


Customize UI Layout

Text Customization (ARB)

TUILiveKit uses ARB files and the Flutter standard internationalization (i18n) solution to manage the UI text display. You can directly edit the ARB files in the livekit/lib/common/language/i10n/ directory to modify the text:

livekit_en.arb: English Text.
livekit_zh.arb: Simplified Chinese Text.
livekit_zh_Hant.arb: Traditional Chinese Text.
After editing, run flutter gen-l10n in your terminal to regenerate localization code.

Icon Customization

TUILiveKit’s UI image assets are stored in the livekit/assets/images/ directory. To update icons, simply replace the PNG files in this folder.

Rebuild and run the application, and you will see the updated icon.

Next Steps

Congratulations! You have successfully integrated Audience Viewing. Next, you can implement features such as Host Streaming, and Live Stream List. Please refer to the table below:
Feature
Description
Integration Guide
Host Streaming
The complete workflow for a host to start a stream, including pre-stream setup and various in-stream interactions.
Live Stream List
Display the live stream list interface and features, including the live stream list and room information display.

FAQs

Why does the video screen go black after the audience chooses video interaction?

Go to Phone Settings > App > Camera and check whether camera permission is enabled. Refer to the image below:
iOS
Android







Why can’t other audience members see live comments sent by an audience member?

Reason 1: First check the network connection to ensure the viewer's device network is online and stable.
Reason 2: The viewer has been muted (banned) by the host and cannot send live comments.
Reason 3: The live comment may contain blocked keywords. Make sure comments comply with live room rules.

Why can’t the app enter out-of-app floating window (Picture-in-Picture) mode when in the background?

Refer to Entering Out-Of-App Floating Window. After entering the live room, enable the Picture-in-Picture switch.
On Android, after enabling Picture-in-Picture, the app will automatically check the system setting. If Picture-in-Picture is not enabled, the app will prompt you to allow this mode in system settings:


Why do pop-up windows not appear or get covered?

If you have integrated TUILiveRoomAudienceOverlay, ensure that pop-up components (such as BottomSheet, Dialog, etc.) use the rootNavigator context (recommended: Global.appContext()).
Reason: The live streaming page Overlay is rendered on the secondaryNavigator. Pop-ups using the secondaryNavigator context will be obstructed by the Overlay because, on the same Navigator, the Overlay layer is above regular pages, allowing it to float above them. Using the rootNavigator ensures pop-ups display correctly above the Overlay.




도움말 및 지원

문제 해결에 도움이 되었나요?

피드백