tencent cloud

Tencent Real-Time Communication

Release Notes and Announcements
Release Notes
Recent Product Announcement
TRTC Live (TUILiveKit) Product Launch Announcement
TRTC Conference Official Editions Launched
The commercial version of Conference is coming soon
Terms and Conditions Applicable to $9.9 Starter Package
Rules for the "First Subscription $100 Discount" Promotion
Announcement on the Start of Beta Testing for Multi-person Audio and Video Conference
TRTC Call Official Editions Launched
License Required for Video Playback in New Version of LiteAV SDK
TRTC to Offer Monthly Packages
Product Introduction
Overview
Concepts
Features
Strengths
Use Cases
Performance Statistics
Tencent RTC Quickplay: Experience Ultimate Real-Time Audio and Video Interaction!
Purchase Guide
Billing Overview
Free Minutes
Monthly subscription
Pay-as-you-go
TRTC Overdue and Suspension Policy
FAQs
Refund Instructions
User Tutorial
Free Demo
Call
Overview
Activate the Service
Run Demo
Integration
Offline Call Push
Conversational Chat
On-Cloud Recording
AI Noise Reduction
UI Customization
Calls integration to Chat
Additional Features
No UI Integration
Server APIs
Client APIs
Solution
ErrorCode
Release Notes
FAQs
Conference
Overview(TUIRoomKit)
Activate the Service (TUIRoomKit)
Run Demo(TUIRoomKit)
Integration(TUIRoomKit)
Screen Sharing (TUIRoomKit)
Schedule a meeting (TUIRoomKit)
In-meeting Call (TUIRoomKit)
UI Customization(TUIRoomKit)
Virtual Background (TUIRoomKit)
Conference Control (TUIRoomKit)
Cloud Recording (TUIRoomKit)
AI Noise Reduction (TUIRoomKit)
In-Conference Chat (TUIRoomKit)
Robot Streaming (TUIRoomKit)
Enhanced Features (TUIRoomKit)
Client APIs (TUIRoomKit)
Server APIs (TUIRoomKit)
FAQs (TUIRoomKit)
Error Code (TUIRoomKit)
SDK Update Log (TUIRoomKit)
Live
Billing of Video Live Component
Overview
Activating the Service (TUILiveKit)
Run 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 Download
API Examples
Usage Guidelines
API Reference Manual
Advanced Features
AI Integration
Overview
Configure MCP Server
Install Skills
Integration Guide
FAQ
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
Console Guide
Application Management
Package Management
Usage Statistics
Monitoring Dashboard
Development Assistance
Solution
Real-Time Chorus
FAQs
Migration Guide
Billing
Features
UserSig
Firewall Restrictions
How to Downsize Installation Package
Android and iOS
Web
Flutter
Electron
TRTCCalling for Web
Audio and Video Quality
Others
Legacy Documentation
RTC RoomEngine SDK(Old)
Integrating TUIRoom (Web)
Integrating TUIRoom (Android)
Integrating TUIRoom (iOS)
Integrating TUIRoom (Flutter)
Integrating TUIRoom (Electron)
TUIRoom APIs
On-Cloud Recording and Playback (Old)
RTC Analytics Monthly Packages (Previous Version)
Protocols and Policies
Compliance
Security White Paper
Notes on Information Security
Service Level Agreement
Apple Privacy Policy: PrivacyInfo.xcprivacy
TRTC Policy
Privacy Policy
Data Processing And Security Agreement
Glossary

Host Live Streaming(iOS)

PDF
Focus Mode
Font Size
Last updated: 2025-12-25 10:20:20
UILiveKit Voice Chat Room is a ready-to-use interface providing all the core functionalities for starting a live stream. It enables you to integrate a host broadcasting flow into your app with simple steps.

Feature Overview

Pre-Live Preview: Allows hosts to configure personalized settings such as room name and cover image before going live.
Seat Management: Supports seat management operations including taking a seat, leaving a seat, muting, and locking seats.
Audience Interaction: Enables interactive features such as live chat (bullet comments), virtual gifts, and likes.
Live Room Management: Displays the online user list and provides moderation controls such as muting or removing users from the live room.
Pre-Live Preview
Seat Management
Audience Interaction
Live Room Management













Quick Integration

Integrate the Component

Follow the Preparation guide to integrate TUILiveKit.

Create and Present the Voice Room View Controller

The TUIVoiceRoomViewController component provides a complete host-side UI and business logic for the voice room scenario. To enable hosts to start a live session, simply create and present this view controller. We recommend triggering the following logic in your app’s "Start Live" button click handler:
import TUILiveKit
import UIKit

// YourViewController represents the view controller from which you start the live session
class YourViewController: UIViewController {

// Handle the "Start Live" button click event
@objc func onStartVoiceRoomClicked() {

// 1. Configure room parameters (RoomParams)
var params = RoomParams()
params.maxSeatCount = 10 // Maximum number of seats
params.seatMode = .applyToTake // Seat mode

// 2. Instantiate the voice room controller
let roomId = "test_voice_room_id"
let voiceRoomVC = TUIVoiceRoomViewController(roomId: roomId, behavior: .prepareCreate, roomParams: params)
voiceRoomVC.modalPresentationStyle = .fullScreen

// 3. Present the voice room page
present(voiceRoomVC, animated: true)
}
}
TUIVoiceRoomViewController Parameter Reference:
Parameter
Type
Description
roomId
string
Globally unique ID for the live room.

behavior

RoomBehavior
Room entry behavior:
- autoCreate: Automatically create and enter the live room.
- prepareCreate: Enter the pre-live preview page first, then create and enter the live room after the user clicks "Start Live".
- join: Audience joins the room.

roomParams

RoomParams?
Parameters for the host to start the live session. See the table below for details.
RoomParams Parameter Reference:
Parameter
Type
Description
maxSeatCount
Int
Maximum number of seats in the live room.
seatMode
TUISeatMode
Audience seat mode:
- applyToTake: Audience must apply and be approved by the host to take a seat.
- freeToTake: Audience can take a seat freely without host approval.

Customize UI

TUILiveKit provides flexible UI customization to meet a variety of business requirements. You can select different layout templates and easily update UI text and icons.

Live Layout Template Selection

TUILiveKit Voice Room offers two layout styles. Select your preferred style using the "Layout" option on the host's pre-live preview page:


Layout Overview:


Chat Room
KTV
Description
Default layout; displays only the seat grid.
Displays a KTV song player above the seat grid.
Preview







Text Customization (Localization)

TUILiveKit uses the Apple Strings Catalog(.xcstrings) format, introduced in Xcode 15, to manage the text displayed in the UI. You can modify the string resources using Xcode's graphical interface:
Note:
Apple Strings Catalog (.xcstrings) is a localization format introduced in Xcode 15. It enhances how developers manage localized strings, supporting a structured format to handle plurals, device-specific variants, etc. This format is becoming the recommended way to manage localization for iOS and macOS applications.


Icon Customization (Image Assets)

TUILiveKit uses TUILiveKit.xcassets to manage the image resources for the UI. You can quickly modify the custom icons using Xcode's graphical tools.


Next Steps

You have now successfully integrated host live streaming. Next, implement features such as audience listening, live stream list and gift system. See the table below for details:
Feature
Description
Integration Guide
Audience Listening
Enables users to join as audience members, listen to the host, take seats, and view live chat (bullet comments).
Live Stream List
Displays a list of live rooms and their details.
Gift System
Support custom gift asset configuration, billing system integration, and gift-sending in PK scenarios.

FAQs

No sound after going live?

Go to your device's Settings > App > Microphone and ensure that microphone permissions are enabled.


Unable to go live when clicking the start button, with a "Not Logged In" prompt?

See Complete Login to ensure login functionality is properly integrated.


Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback