flutter开发一个跨平台的在线视频聊天及教育应用
今天我们来用flutter开发一个跨平台andriod ios web的在线视频聊天及教育应用,视频sdk主要用到了声网Agora 的sdk
这个示例向您展示如何使用 Agora Flutter SDK 构建一个简单的视频通话应用程序。它向您展示了如何:
加入/离开频道
静音/取消静音
切换摄像头
布局多个视频视图
创建一个声网帐户并获取一个 App ID
打开声网,网址:www.agora.io/cn/ 注册
在agora.io创建开发人员帐户并且通过实名认证。完成注册认证后过程后,您将被重定向到控制台页面。
在左侧的仪表板树中导航到项目 > 项目列表。创建一个项目后,在列表中就可以看到项目的appid了
将 App ID 复制到文本文件中。您将在启动应用程序时用到它。
下载本flutter 视频通话源码 Agora-Flutter-Quickstart-master.zip
一、更新并运行示例应用程序
打开settings.dart文件并添加 App ID。
const APP_ID ="";
在项目目录中运行packages get命令:
#install dependencies
flutter packages get
构建完成后,执行run命令启动应用程序。
#start app
flutter run
我们建议您在开发期间按照 flutter 官方引导推荐,使用 IDE(包括但不限于 VS Code)来控制整体构建过程
一、常见错误及解决办法
iOS 内存泄漏
如果你的 flutter channel 是 stable, PlatformView 会导致内存泄漏, 你可以运行 flutter channel beta
你可以参考这条 pull request
Android 黑屏
提示:请确保你所有的配置都正确,但是仍然是黑屏
如果你的 MainActivity 继承 io.flutter.embedding.android.FlutterActivity,并且你重写了 configureFlutterEngine 方法
请不要忘记添加 super.configureFlutterEngine(flutterEngine)
请不要添加 GeneratedPluginRegistrant.registerWith(flutterEngine), 插件现在会自动注册
你可以参考官方文档
Android Release 模式闪退
这个是代码混淆导致的,因为 flutter 默认设置了android.enableR8=true
在你的app/proguard-rules.pro文件中添加下面这行代码,以避免代码混淆:
-keep class io.agora.**{*;}
网友评论0