• Stars
    star
    138
  • Rank 264,508 (Top 6 %)
  • Language
    Dart
  • License
    MIT License
  • Created over 3 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Flutter plugin to simply integrate Agora Video Calling or Live Video Streaming to your app with just a few lines of code.

Agora VideoUIKit for Flutter


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
  • More Event Callbacks
  • Add RTM SDK
  • Screen Sharing (Currently in Beta)
  • 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.
  • Muting/Unmuting a remote member
  • 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.

More Repositories

1

Agora-Flutter-Quickstart

Quickstart guide for the Agora Flutter SDK(Android/iOS)
Dart
500
star
2

MoonLight

MoonLight is a performance test kit on iOS and macOS. It can capture App Memory, App CPU, System CPU, GPU, ANR and iOS FPS and accurately and easily.
Objective-C
271
star
3

Solo

Agora Solo is an open source speech codec, it was developed based on Silk with BWE(Bandwidth Extension) and MDC(Multi Description Coding). With these technologies, Solo is enable to resist weak networks at low bitrates.
C
227
star
4

AgoraWebSDK-NG

The Next Generation of Agora Web SDK
TypeScript
162
star
5

RTC-Hackathon

CSS
147
star
6

Agora-RN-Quickstart

Java
111
star
7

Agora_Unity_WebGL

WebGL plugin for Unity, beta release
C#
111
star
8

OpenAgoraWeb-React

Video Call App built with ❤️Agora SDK❤️ and React
JavaScript
99
star
9

VideoUIKit-ReactNative

A React Native package to simply integrate Agora Video Calling or Live Video Streaming to your app with just a few lines of code.
TypeScript
94
star
10

Agora-RTC-React

A react wrapper for Agora RTC NG SDK
TypeScript
92
star
11

Agora-Electron-Quickstart

Quickstart for Agora Electron SDK(Windows/macOS) https://github.com/AgoraIO/Electron-SDK
JavaScript
71
star
12

Agora-Python-SDK

Use Agora RTC SDK with Python!
C++
68
star
13

VideoUIKit-iOS

Swift package and CocoaPod to simply integrate Agora Video Calling or Live Video Streaming to your iOS or macOS app with just a few lines of code.
Swift
57
star
14

VideoUIKit-Web-React

A Web library to simply integrate Agora Video Calling or Live Video Streaming to your website with just a few lines of code.
TypeScript
53
star
15

CloudClass-Desktop

TypeScript
50
star
16

Agora-Python-QuickStart

Python
42
star
17

OpenAgoraWeb-Vue

Video Call App built with ❤️Agora SDK❤️ and Vue
Vue
36
star
18

agora-token-service

an Agora Token Server using Golang & Gin to run as a webservice
Go
34
star
19

Idea-Box

HTML
34
star
20

RTE-2021-Innovation-Challenge

C++
33
star
21

Agora-RTC-SDK-for-Xamarin

C#
32
star
22

2019-Hackathon-Works-CoderLane

Coderlane is an online real-time programming environment, a high-fidelity REPL environment. It also supports multi-person programming.
JavaScript
31
star
23

Agora-Node-TokenServer

A simple token server for Agora applications using NodeJS with Express, and Agora Access Token modules.
JavaScript
30
star
24

Agora-Unreal-SDK-Blueprint

Agora Unreal SDK - Blueprint (Beta)
C++
28
star
25

typing

Swift
28
star
26

ag-iot-device-demo-esp32

C
28
star
27

Agora-Uniapp-SDK

TypeScript
27
star
28

RTE-Innovation-Challenge-2020

Objective-C
26
star
29

Agora-Unity-RTM-SDK

A Unity3D sample app to show Login /Logout, Log in to/out of channel, Get Channel Member Count, Send/Receive Channel Message, Send Peer Message, Query Member, and token Authentication
C#
24
star
30

VideoUIKit-Android

An Android package to simply integrate Agora Video Calling or Live Video Streaming to your app with just a few lines of code.
Kotlin
24
star
31

Agora-Rust-SDK

Rust
23
star
32

Agora-Unreal-SDK-CPP

Agora Unreal SDK - C++ (Beta)
C++
21
star
33

agora-unity-partychat-demo

Unity video party chat using Agora SDK and Photon. Refer to the Medium post for project setup from scratch!
C#
20
star
34

AR-Remote-Support

This is a POC of how to build a Remote support app (similar to Vuforia Chalk) using ARKit and Agora.io's Video SDK.
Swift
20
star
35

LrcView-iOS

Swift
18
star
36

Agora-Unreal-SDK

C++
17
star
37

Unity-Virtual-Camera-Prefab

An open source prefab that makes it easy to live video streaming from a Unity virtual camera into an Agora live video chat or live video streaming channel.
C#
17
star
38

CloudClass-Android

Kotlin
16
star
39

ARCoreAgora

Java
16
star
40

python-token-builder

Python
15
star
41

agora-remote-desktop-control-samples

TypeScript
15
star
42

AgoraUWP

Agora WinRT and UWP SDK
C++
15
star
43

MediaIO-Camera

Java
15
star
44

TokenServer-nodejs

One-Click deploy Agora sample token server
JavaScript
15
star
45

CloudClass-iOS

Swift
14
star
46

visionOS-Quickstart

Basic video call with visionOS for Apple Vision Pro. Using Agora RTC SDK.
Swift
13
star
47

flexible-classroom-desktop

TypeScript
12
star
48

Collaborative-AR-RTM

A collaborative Augmented Reality iOS experience using Real-time Messaging with RealityKit
Swift
12
star
49

Agora-iOS-Swift-Example

Example of creating a multi-broadcasting channel with Agora.io
Swift
11
star
50

Angular-Agora-RTC

TypeScript
11
star
51

agora-rest-client-go

Go
11
star
52

AgoraMultiCall-vue

Vue
10
star
53

Agora-Rust-QuickStart

Rust
10
star
54

BeautyAPI

Kotlin
10
star
55

AI-in-RTC_ProgrammingChallenge

JavaScript
10
star
56

RTE-2022-Innovation-Challenge

RTE 2022 编程挑战赛
C++
10
star
57

Agora-ReactNative-Dynamic-Rooms

Dynamic Video Chat Rooms in React Native using Agora RTC and RTM SDKs. The RTC SDK is used to share live audio/video, RTM is used to signal the room details to all connected users.
TypeScript
9
star
58

Agora-Electron-FaceUnity-Plugin

C++
9
star
59

AvatAR

The project aims to build a playground/plugin which developers can use to define gestures within video calls. For ex. Ability to add VFX like Doctor Strange making those golden circles, Thor lightning up with electricity flowing through him, even do sign language(not finger level fidelity)/human pose detection for a variety of tasks, all within the browser be it on PC or mobile using TensorFlow for ML+AR & Agora to do the video-chat heavy lifting.
JavaScript
9
star
60

awesome-agora

Useful collection of Agora resources.
8
star
61

SwiftUIRtc

SwiftUI and Real-time Video Calling with Agora's RTC SDK
Swift
8
star
62

Agora-Web-Conferencing

Web Conferencing Sample using the Agora Platform
TypeScript
8
star
63

Agora-ARKit

Swift
7
star
64

AgoraAdvancedDemo

Advanced guides for Agora Unity SDK for voice and video. http://agora.io
C#
7
star
65

app-builder-core

TypeScript
7
star
66

AUIKaraoke

UIKit
Swift
7
star
67

agora-advanced-web-broadcast-demo

A demo project using the Agora Web RTC and RTM SDKs, leveraging advance RTC features like dual stream with stream fallback, multi-host broadcasting. Web users can mute each other's audio or remove others from the call. Signalling layer is using Agora's RTM SDK.
JavaScript
7
star
68

Agora-RTM-React

A wrapper for Agora RTM Web SDK to use with react/reactjs
TypeScript
6
star
69

ContentContributorGuides

This repository will contain all documents related to the process for publishing content for the Agora Content Contributor Program.
6
star
70

ag-iot-android-app

Java
6
star
71

Agora-demo-web

Agora Web Demo
JavaScript
6
star
72

AgoraARKit

Enabling apps to live stream AR video streams.
Swift
6
star
73

AUIKit

UIKit
Swift
6
star
74

Agora-RTM-Nodejs

Agora RTM SDK on Nodejs
C++
6
star
75

Live-Shop

C++
5
star
76

ag-iot-device-demo

C
5
star
77

2019-Hackathon-Works-Online-Debate

JavaScript
5
star
78

ag-iot-callkit-android-app

Java
5
star
79

EaseIMKit

5
star
80

AgoraWinRT

Agora WinRT and UWP SDK
C++
5
star
81

AgoraFireTV

JavaScript
5
star
82

HousepartyAgora

Java
5
star
83

Agora-Cocos-Quickstart

JavaScript
5
star
84

go-tokenbuilder

a package for the Agora Token classes in Golang
Go
4
star
85

.github

4
star
86

Agora-Unity-MetaKTV

C#
4
star
87

Agora-C_Sharp_QuickStart

C#
4
star
88

Agora-Dynamic-Loading-Sample-App-Android

Java
4
star
89

Cloud-Recording-Golang

Golang backend service to help with cloud recording
Go
4
star
90

ag-iot-callkit-esp32-demo

C
4
star
91

UnityCloudRecording

Sample Code for running Cloud Recording in Unity
C#
4
star
92

Lip-sync

C#
4
star
93

WhatsappAgora

Java
4
star
94

AUIVoiceRoom

Swift
4
star
95

Extension-Voicemod-iOS

Swift
4
star
96

app-builder-docs

JavaScript
4
star
97

cordova-video-chat

Objective-C
3
star
98

Talkboard

Objective-C
3
star
99

Agora-Audio-Example-iOS

Swift
3
star
100

ag-iot-callkit-device-demo

C
3
star