搜索插件、代码仓与 APP 分类

agora_uikit 封面
插件详情v1.3.10

agora_uikit

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

近 30 天下载
456
喜欢数
440
Pub 分数
80

安装插件

flutter pub add agora_uikit

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Agora UIKit 是一个 Flutter 插件,可让开发者用最少的代码快速将实时视频通话和直播视频流集成到其应用程序中。由 Agora.io 开发,它提供了预构建的视频会议 UI 组件,使实现音频/视频通话、屏幕共享和直播广播等功能变得简单。该包通过直观的 API 简化了复杂的实时通信工作流程,显著减少了开发时间。它支持跨平台的可扩展、低延迟交互,非常适合需要无缝视频连接的应用程序。

适合场景

  • 视频会议应用
  • 直播流媒体平台
  • 虚拟课堂
  • 远程医疗咨询
  • 团队协作工具

主要特点

  • 预构建的视频通话UI
  • 只需几行代码即可轻松集成
  • 支持直播和群组通话
  • 低延迟实时通信
  • 可自定义的 UI 组件

适合对象

  • 寻求快速视频集成的开发者
  • 需要实时视频功能的应用
  • 构建通信密集型应用的初创公司
  • 教育和远程医疗平台

使用建议

  • 需要 Agora 账户和 API 密钥
  • 无需额外编码即可进行有限的自定义
  • 依赖于阿戈拉的后端基础设施
  • 可能需要平台特定的配置才能实现完整功能

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

[ARCHIVED] Agora VideoUIKit for Flutter

⚠️ This project is no longer maintained and has been archived.
Please note that this repository is now in a read-only state and will not receive any further updates or support. We recommend migrating to the following alternatives:

  • Agora SDK: For developers seeking a customizable solution with full control over the user experience. Learn more
  • Agora App Builder: For those preferring a no-code approach to integrate real-time engagement features. Get started

For documentation and support, please visit the Agora Documentation.


Platform GitHub Workflow Status License: MIT

Instantly integrate Agora video calling or video streaming into your Flutter application.

NOTE: The Flutter VideoUIKit( >version 1.1.0) uses the latest version of the Agora 4.x SDK. To know more about the changes and the new features in the 4.x SDK, kindly take a look at the docs.

Getting started

Agora Flutter VideoUIKit Layout Sample

Roadmap
  • [ ] Add Usernames
  • [x] More Event Callbacks
  • [x] Add RTM SDK
  • [x] Screen Sharing (Currently in Beta)
  • [x] Layout for One to One Video Call
  • [ ] Layout for Voice Calls
  • [ ] Re-orderable list view (Floating Layout)
  • [ ] Cloud recording
  • [ ] Promoting an audience member to a broadcaster role.
  • [x] Muting/Unmuting a remote member
  • [x] Flutter Web Support as a pre-release
  • [ ] Flutter Desktop Support as a pre-release
Requirements
Installation

In your Flutter application, add the agora_uikit as a dependency inside your pubspec.yaml file.

In your Android level build.gradle add this at the end of the repositories:

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

Agora Video SDK requires camera and microphone permission to start video call.

Android

Open the AndroidManifest.xml file and add the required device permissions to the file.

<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

Open info.plist and add:

  • Privacy - Microphone Usage Description, and add a note in the Value column.
  • Privacy - Camera Usage Description, and add a note in the Value column.

Your application can still run the voice call when it is switched to the background if the background mode is enabled. Select the app target in Xcode, click the Capabilities tab, enable Background Modes, and check Audio, AirPlay, and Picture in Picture.

Usage

// Instantiate the client
final AgoraClient client = AgoraClient(
  agoraConnectionData: AgoraConnectionData(
    appId: "<--Add Your App Id Here-->",
    channelName: "test",
  ),
);

// Initialize the Agora Engine
@override
void initState() {
  super.initState();
  initAgora();
}

void initAgora() async {
  await client.initialize();
}

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

VideoUIKits

The plan is to grow this library and have similar offerings across all supported platforms. There are already similar libraries for Android, iOS, React Native, and Web React, so be sure to check them out.

所属分类

依赖

依赖清单 5 项

源码仓库

使用此插件的项目