- Documentation
- Live Audio Room Kit
- Quick start
Quick start
Prerequisites
- Go to ZEGOCLOUD Admin Console to create a UIKit project.
- Get the AppID and AppSign of the project.
If you don't know how to create a project and obtain an app ID, please refer to this guide.
Integrate the SDK
Add ZegoUIKitPrebuiltLiveAudioRoom as dependencies
Run the following code in your project's root directory:
flutter pub add zego_uikit_prebuilt_live_audio_room
Import the SDK
Now in your Dart code, import the Live Audio Room Kit SDK.
import 'package:zego_uikit_prebuilt_live_audio_room/zego_uikit_prebuilt_live_audio_room.dart';
Using the Live Audio Room Kit
- Specify the
userID
anduserName
for connecting the Live Audio Room Kit service. roomID
represents the live audio room you want to create or join.
userID
,userName
, androomID
can only contain numbers, letters, and underlines (_).- Using the same
roomID
will enter the same live audio room.
With the same roomID
, only one user can enter the live audio room as host. Other users need to enter the live audio room as the audience.
class LivePage extends StatelessWidget {
final String roomID;
final bool isHost;
const LivePage({Key? key, required this.roomID, this.isHost = false}) : super(key: key);
@override
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.host()
: ZegoUIKitPrebuiltLiveAudioRoomConfig.audience(),
),
);
}
}
Then, you can create a live audio room. And the audience can join the live audio room by entering the roomID
.
Config your project
Android:
1. modify the compileSdkVersion
.
If your project is created with Flutter 2.x.x, you will need to open the your_project/android/app/build.gradle
file, and modify the compileSdkVersion
to 33.
2. And in the same file, edit the minSdkVersion
.
minSdkVersion 21
3. Add app permission.
Open the file your_project/app/src/main/AndroidManifest.xml
, and add the following:
<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" />
4. Prevent code obfuscation.
To prevent obfuscation of the SDK public class names, do the following:
a. In your project's your_project > android > app
folder, create a proguard-rules.pro
file with the following content as shown below:
-keep class **.zego.** { *; } -keep class **.**.zego_zpns.** { *; }
b. Add the following config code to the release
part of the your_project/android/app/build.gradle
file.
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
iOS:
1. Add app permissions.
a. Open the your_project/ios/Podfile
file, and add the following to the post_install do |installer|
part:
# Start of the permission_handler configuration
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
'PERMISSION_CAMERA=1',
'PERMISSION_MICROPHONE=1',
]
end
# End of the permission_handler configuration
b. Open the your_project/ios/Runner/Info.plist
file, and add the following to the dict
part:
<key>NSCameraUsageDescription</key>
<string>We require camera access to connect</string>
<key>NSMicrophoneUsageDescription</key>
<string>We require microphone access to connect</string>
2. Disable the Bitcode.
The following SDKs need to have Bitcode disabled:
- zego_zim
- zego_pns
- zego_express_engine
a. Open the your_project > iOS > Runner.xcworkspace
file.
b. Select your target project, and follow the notes on the following two images to disable the Bitcode respectively.
Run & Test
Now you can simply click the Run or Debug button to run and test your App on the device.