Talk to us
Talk to us

How to Make a TV Karaoke App

How to Make a TV Karaoke App

Are you interested in creating your own karaoke app for TV? Look no further! Our guide on how to make a karaoke app for TV will walk you through the necessary steps to turn your TV into a karaoke machine. Whether you’re a seasoned developer or a beginner looking to get started in app creation, our guide will provide you with the information you need to bring your karaoke app for TV to life.

How to Make TV Karaoke App with ZEGOCLOUD API

TV karaoke is a fun and interactive way for people to sing along to their favorite songs on their television. With the rise of streaming services and the popularity of karaoke apps, it is now possible to create karaoke apps for TV using APIs like ZEGOCLOUD. In this article, we will explore the steps involved in building a TV karaoke app using ZEGOCLOUD’s Live Audio Room Kit SDK.

Why use Live Audio Room Kit SDK for a TV Karaoke App

Here are a few potential benefits of utilizing the Live Audio Room Kit SDK to craft your karaoke videos:

  • The SDK offers a variety of features that can enhance your karaoke videos, including the ability to add background music, customize lyrics display, and apply special effects to your singing voice.
  • The interface is user-friendly, making it easy to create and customize your videos.
  • The SDK allows for customization options to suit your personal style and preferences.

The videos created with this tool will have high-quality audio and visual output, whether you’re sharing them online or watching them on TV or other devices.

Given all that it has to offer, it’s not surprising that the Live Audio Room Kit SDK is a popular choice for creating karaoke apps for TV.


  • Create a developer account with ZEGOCLOUD – Sign up
  • Set up Flutter on your computer
  • Have Android or iOS devices with audio and internet connectivity
  • Go to the ZEGOCLOUD Admin Console
  1. Create a new project and record the generated AppID and AppSign
  2. Enable the In-app Chat service through the console
karaoke app for tv

Live Audio Room SDK Integration

Here’s what you need to do to use the Live Audio Room Kit SDK to make a karaoke app for TV:

  1. Run the following code in the root directory of your project to add the ZegoUIKitPrebuiltLiveAudioRoom to your project directory:
flutter pub add zego_uikit_prebuilt_live_audio_room
  1. Add the following line of code to your main.dart file to import the SDK:
import 'package:zego_uikit_prebuilt_live_audio_room/zego_uikit_prebuilt_live_audio_room.dart';

After you’ve completed these steps, you’ll be ready to use the Live Audio Room Kit SDK to create your own karaoke apps for TV.

Steps to Make Karaoke App for TV with Live Audio Room Kit

To access Live Audio Room Kit, you’ll need your userID and username. The roomID represents the live audio room you wish to join.

class LivePage extends StatelessWidget {
  final String roomID;
  final bool isHost;

  const LivePage({Key? key, required this.roomID, this.isHost = false}) : super(key: key);

  Widget build(BuildContext context) {
    return SafeArea(
      child: ZegoUIKitPrebuiltLiveAudioRoom(
        appID: yourAppID, // Fill in the appID that you get from ZEGOCLOUD Admin Console.
        appSign: yourAppSign, // Fill in the appSign that you get from ZEGOCLOUD Admin Console.
        userID: 'user_id',
        userName: 'user_name',
        roomID: roomID,
        config: isHost
            : ZegoUIKitPrebuiltLiveAudioRoomConfig.audience(),

It’s simple to host virtual events and gatherings when you have the ability to create a live audio room at your fingertips. Simply create the room and share the unique roomID with your intended audience, and they will be able to join the live audio experience with you.

Configure project (for Android)

To properly incorporate the SDK into your Flutter project, you’ll need to follow a few key steps:

  1. Open the your_project/android/app/build.gradle file and set the compileSdkVersion to 33.
  2. In the app/src/main directory of your project, open the AndroidManifest.xml file and add the following permissions:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
  1. To prevent the obfuscation of the public class names in the SDK during the build process, create a file named in the android > app folder of your project. Add the following line to the file:
-keep class .zego. { *; }

Then, in the release section of the your_project/android/app/build.gradle file, include the following configuration code:

proguardFiles getDefaultProguardFile('proguard-android.txt'), ''

By following these steps, you can ensure that the SDK is successfully integrated into your Flutter project and your app can access the necessary functionality.

Configure project (for iOS)

If you want to configure your iOS project to add necessary permissions and disable Bitcode, here’s what you can do:

  1. First, open the Podfile location in the your_project/ios directory. In the post_install do |installer| section, add the following code snippet to enable camera and microphone permissions for your app:
# Start of the permission_handler configuration
target.build_configurations.each do |config|
  config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
# End of the permission_handler configuration
  1. Next, open the Info.plist file located in the your_project/ios/Runner directory. In the dict section, add the following lines of code to provide descriptions for the camera and microphone permissions that will be displayed to the user when they are requested:
<string>We need camera access to connect to a live</string>
<string>We need microphone access to connect to a live</string>
  1. To disable Bitcode, open the Runner.xcworkspace file located in the your_project > iOS directory. Select your target project and follow the instructions in the provided images to disable Bitcode.
tv karaoke app
apple tv karaoke app

By following these steps, you can easily add the necessary permissions and disable Bitcode in your iOS project.

Run a Demo.

Now, you can simply click the Run or Debug button and watch your application come to life on your chosen device with ease.


Creating a TV karaoke app with ZEGOCLOUD API is a straightforward process that allows developers to easily integrate karaoke functionality into their TV apps.

By leveraging the power of ZEGOCLOUD’s API, developers can easily access a vast library of karaoke songs and features, such as lyrics syncing and vocal effects, to create a truly immersive karaoke experience for their users. So, if you want to create a karaoke app for TV, ZEGOCLOUD API is definitely worth considering.

Ready to bring your karaoke dreams to the small screen? Look no further! Our full demo source code will get you off to a flying start on your TV karaoke app project.

With our ZEGOCLOUD Core SDK, you’ll have access to streaming capabilities, noise cancellation technology, and censorship options to ensure your app delivers the best possible karaoke experience.

Read More

Talk to Expert

Learn more about our solutions and get your question answered.

Talk to us

Take your apps to the next level with our voice, video and chat APIs

Free Trial
  • 10,000 minutes for free
  • 4,000+ corporate clients
  • 3 Billion daily call minutes

Stay updated with us by signing up for our newsletter!

Don't miss out on important news and updates from ZEGOCLOUD!

* You may unsubscribe at any time using the unsubscribe link in the digest email. See our privacy policy for more information.