其他语言版本: 简体中文
This tutorial describes how to create an Agora account and build a sample app with Agora using Flutter.
- Agora.io Developer Account
- Flutter 1.0.0
This repository shows you how to use Agora Flutter SDK to build a simple video call app. It demonstrates you how to:
- Join / leave a channel
- Mute / unmute audio
- Switch camera views
- Layout multiple video views
To build and run the sample application, first obtain an app ID:
- Create a developer account at agora.io. Once you finish the sign-up process, you are redirected to the dashboard.
- Navigate in the dashboard tree on the left to Projects > Project List.
- Copy the app ID that you obtain from the dashboard into a text file. You will use this when you launch the app.
Open the settings.dart file and add the app ID.
const APP_ID = "";
Run the packages get
command in your project directory:
# install dependencies
flutter packages get
Once the build is complete, run the run
command to start the app.
# start app
flutter run
We recommend you to use IDE to control overall build process during development
Details about how to set up the IDE please take a look at here
if your MainActivity extends io.flutter.embedding.android.FlutterActivity
please remove this line
GeneratedPluginRegistrant.registerWith(this)
you can refer to official documents
it causes by code obfuscation because of flutter set android.enableR8=true
by the default
Add the following line in the app/proguard-rules.pro file to prevent code obfuscation:
-keep class io.agora.**{*;}
Please ensure you provide following information when you report an issue,
run flutter doctor
and copy the log output.
Insert below code
AgoraRtcEngine.setParameters("{\"rtc.log_filter\": 65535}");
to call.dart
The eventual outcome would look like this,
...
_initAgoraRtcEngine();
_addAgoraEventHandlers();
AgoraRtcEngine.enableWebSdkInteroperability(true);
AgoraRtcEngine.setParameters('{\"che.video.lowBitRateStreamParameter\":{\"width\":320,\"height\":180,\"frameRate\":15,\"bitRate\":140}}');
AgoraRtcEngine.setParameters("{\"rtc.log_filter\": 65535}");
AgoraRtcEngine.joinChannel(null, widget.channelName, null, 0);
...
and then start the app. Our sdk log will print directly to console in this case.
- Complete API documentation at the Developer Center
- File bugs about this sample
- Flutter lab: Write your first Flutter app
- Flutter cookbook: Useful Flutter samples
- Flutter online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
https://pub.dartlang.org/packages/permission_handler
This software is under the MIT License (MIT).