Agora UI Kit for Flutter

将 Agora 视频通话或视频流媒体即时集成到您的 Flutter 应用程序中。

Flutter 插件,只需几行代码即可轻松将 Agora 视频通话或直播集成到您的应用中。

入门

Agora Flutter UIKit Layout Sample

路线图

  • 添加用户名
  • 更多事件回调
  • 屏幕共享
  • 语音通话布局
  • 可重排列表视图(浮动布局)
  • 云录制
  • 将观众成员晋升为广播员角色。
  • 静音/取消静音远程成员
  • Flutter Web 支持(预发布版)
  • Flutter 桌面支持(预发布版)

要求

安装

在您的 Flutter 应用程序中,将 agora_uikit 添加为 pubspec.yaml 文件中的依赖项。

在您的 Android 级 build.gradle 文件中,在 repositories 的末尾添加此项

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}

设备权限

Agora 视频 SDK 需要 cameramicrophone 权限才能开始视频通话。

Android

打开 AndroidManifest.xml 文件并将所需的设备权限添加到该文件中。

<manifest>
...
<uses-permission  android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission  android:name="android.permission.INTERNET"  />
<uses-permission  android:name="android.permission.RECORD_AUDIO"  />
<uses-permission  android:name="android.permission.CAMERA"  />
<uses-permission  android:name="android.permission.MODIFY_AUDIO_SETTINGS"  />
<uses-permission  android:name="android.permission.ACCESS_NETWORK_STATE"  />
<!-- The Agora SDK requires Bluetooth permissions in case users are using Bluetooth devices.-->
<uses-permission  android:name="android.permission.BLUETOOTH"  />
...
</manifest>

iOS

打开 info.plist 并添加

  • Privacy - Microphone Usage Description,并在 Value 列中添加注释。
  • Privacy - Camera Usage Description,并在 Value 列中添加注释。

如果启用了后台模式,您的应用程序在切换到后台时仍可以运行语音通话。在 Xcode 中选择应用目标,点击 Capabilities 选项卡,启用 Background Modes,然后勾选 Audio、AirPlay 和 Picture in Picture。

用法

final AgoraClient client = AgoraClient(
  agoraConnectionData: AgoraConnectionData(
    appId: "<--Add Your App Id Here-->",
    channelName: "test",
  ),
  enabledPermission: [
    Permission.camera,
    Permission.microphone,
  ],
);

@override
Widget build(BuildContext context) {
  return MaterialApp(
    home: Scaffold(
      body: SafeArea(
        child: Stack(
          children: [
            AgoraVideoViewer(client: client), 
            AgoraVideoButtons(client: client),
          ],
        ),
      ),
    ),
  );
}

UIKits

计划是扩展此库,并在所有支持的平台上提供类似的服务。已经有适用于 AndroidReact NativeiOS 的类似库,请务必查看它们。

GitHub

https://github.com/AgoraIO-Community/Flutter-UIKit