Voice AI quickstart
To build your first voice AI app for Flutter, use the following quickstart and the starter app. Otherwise follow the getting started guide below.
Voice AI quickstart
Flutter Voice Assistant
Getting started guide
This guide covers the basic setup for a new Flutter app for iOS, Android, or web using LiveKit.
Install LiveKit SDK
flutter pub add livekit_client
Permissions and entitlements
You'll need to request camera and/or microphone permissions (depending on your use case). This must be done within your platform-specific code:
Permissions are configured in AppManifest.xml
. In addition to camera and microphone, you may need to add networking and bluetooth permissions.
<uses-feature android:name="android.hardware.camera" /><uses-feature android:name="android.hardware.camera.autofocus" /><uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.RECORD_AUDIO" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /><uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /><uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" /><uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />
Connect to LiveKit
Add the following code to connect and publish audio/video to a room:
final roomOptions = RoomOptions(adaptiveStream: true,dynacast: true,// ... your room options)final room = Room();await room.connect(url, token, roomOptions: roomOptions);try {// video will fail when running in ios simulatorawait room.localParticipant.setCameraEnabled(true);} catch (error) {print('Could not publish video, error: $error');}await room.localParticipant.setMicrophoneEnabled(true);
Next steps
The following resources are useful for getting started with LiveKit on Android.
Generating tokens
Guide to generating authentication tokens for your users.