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.Pre-Live Preview | Seat Management | Audience Interaction | Live Room Management |
![]() | ![]() | ![]() | ![]() |
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 TUILiveKitimport UIKit// YourViewController represents the view controller from which you start the live sessionclass 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 seatsparams.seatMode = .applyToTake // Seat mode// 2. Instantiate the voice room controllerlet roomId = "test_voice_room_id"let voiceRoomVC = TUIVoiceRoomViewController(roomId: roomId, behavior: .prepareCreate, roomParams: params)voiceRoomVC.modalPresentationStyle = .fullScreen// 3. Present the voice room pagepresent(voiceRoomVC, animated: true)}}
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. |
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. |
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.TUILiveKit Voice Room offers two layout styles. Select your preferred style using the "Layout" option on the host's pre-live preview page:
| Chat Room | KTV |
Description | Default layout; displays only the seat grid. | Displays a KTV song player above the seat grid. |
Preview | ![]() | ![]() |
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:
TUILiveKit.xcassets to manage the image resources for the UI. You can quickly modify the custom icons using Xcode's graphical tools.
Feature | Description | Integration Guide |
Audience Viewing | 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. |
Settings > App > Microphone and ensure that microphone permissions are enabled.
Feedback