搜尋套件、儲存庫與 APP 分類

套件詳情v6.6.4

agora_rtc_engine

Agora RTC SDK 的 Flutter 插件,只需幾行代碼即可輕鬆將 Agora 視頻通話或即時視頻串流整合到您的應用中。

AndroidiOSWebmacOSWindows
近 30 天下載
7.4萬
喜歡數
881
Pub 分數
140

安裝套件

flutter pub add agora_rtc_engine

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

Agora RTC Engine 是一個 Flutter 插件,可實現將即時視頻通話和直播視頻串流無縫整合至行動與桌面應用程式中。透過極少的程式碼,開發者即可利用 Agora 可擴展的基礎架構加入高品質的音訊與視訊通訊功能。該插件支援多個平台,包括 Android、iOS、Web、macOS 和 Windows,非常適合跨平台即時應用。它提供低延遲、高畫質的媒體傳輸,並支援螢幕分享與自訂音訊處理等進階功能。

適用情境

  • 視訊會議應用
  • 直播串流平台
  • 遠程輔導服務
  • 虛擬活動主機
  • 即時客戶支援

主要特色

  • 低延遲影片和音訊
  • 跨平台相容性
  • 螢幕共用支援
  • 只需幾行代碼即可輕鬆整合
  • 可擴展的即時通訊

適合對象

  • 開發即時通訊應用的開發者
  • 需要影片互動的教育平台
  • 企業協作工具
  • 即時內容創作者
  • 需要安全的點對點或基於伺服器的串流應用程式

使用建議

  • 需要 Agora 帳戶和應用 ID
  • 網路頻寬影響通話品質
  • Web 支援的功能可能比起原生平台有所限制
  • 生產部署需要額外設定

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

agora_rtc_engine

Pub.dev likes Pub.dev points
latest version Platform License RTE Dev Slack Link

This Flutter plugin is a wrapper for Agora Video SDK

Agora.io provides building blocks for you to add real-time voice and video communications through a simple and powerful SDK. You can integrate the Agora SDK to enable real-time communications in your own application quickly.

NOTE: The main branch is major update base on the Agora Native SDK 4.x, which introduces some break changes. previous releases please see the following branches(the version < 6.0.0):

Usage

To use this plugin, please add agora_rtc_engine as a dependency to your pubspec.yaml file.

Getting Started

  • Get some basic and advanced examples from the example folder.
Privacy Permission

Agora Video SDK requires Camera and Microphone permission to start a video call.

Android

For the latest permission settings, please refer to the documentation at https://docs.agora.io/en/video-calling/get-started/get-started-sdk?platform=android#project-setup

See the required device permissions from the AndroidManifest.xml file.

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<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_WIFI_STATE" />
<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" />
<!-- For Android 12 and above devices, the following permission is also required. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
iOS & macOS

For the latest permission settings, please refer to the documentation at https://docs.agora.io/en/video-calling/get-started/get-started-sdk?platform=ios#project-setup

Open the Info.plist and add:

  • Privacy - Microphone Usage Description,and add some description into the Value column.
  • Privacy - Camera Usage Description, and add some description into the Value column.
Web (alpha)

The agora_rtc_engine for web is currently in alpha stage, and the documentation is incomplete and it has only been tested on desktop web at this time.

The agora_rtc_engine web is built on top of iris_web, a wrapper for the Agora Web SDK 4.x. This helps align the Native SDK (Android/iOS/macOS/Windows) APIs through the Agora Web SDK 4.x. Please note that the agora_rtc_engine web utilizes the Agora Web SDK 4.x underneath, so only a subset of the Native SDK APIs can be implemented on the web. If the APIs return AgoraRtcException with a -4 error code, this means these APIs are not supported at this time.

Download the iris_web(see the link below) artifact and include it as a <script /> tag in your <your-project>/web/index.html file. For example:

Project structure

<your-project>
|__web
   |__index.html
   |__iris-web-rtc_<x.y.z>.js
<!-- <your-project>/web/index.html -->
<!DOCTYPE html>
<html>
...
<body>
  ...
  <script src="iris-web-rtc_<x.y.z>.js"></script>
</body>
</html>

Download: https://download.agora.io/sdk/release/iris-web-rtc_n450_w4220_0.8.6.js

For Testing Purposes

You can directly depend on the Agora CDN for testing purposes:

<!-- <your-project>/web/index.html -->
<!DOCTYPE html>
<html>
...
<body>
  ...
  <script src="https://download.agora.io/sdk/release/iris-web-rtc_n450_w4220_0.8.6.js"></script>
</body>
</html>
Interact with Agora RTC Native SDK(Android/iOS only)

NOTE: This feature requires agora_rtc_engine >= 6.3.0

Due to performance constraints, direct implementation of advanced features like video and audio raw data processing is not currently feasible in Flutter side.

We enable you to create an RtcEngine within Flutter by utilizing the native handle from the RtcEngine(Android) or AgoraRtcEngineKit(iOS) of the Agora RTC Native SDK. This approach enables your application to directly utilize the advanced features of the Agora RTC Native SDK through the agora_rtc_engine package, bridging the gap between native capabilities and Flutter's environment.

More detail, please check the ProcessVideoRawData example for reference.

Known issues
iOS not work on release mode

If you experience issues with iOS not working in release mode, you may need to set the configuration below to avoid stripping symbols.

Please refer to the Flutter documentation for more information.

API Reference Resources

Integration document

Feedback

If you have any problems or suggestions regarding the sample projects, feel free to file an issue OR pull request.

How to contribute

To help work on this sdk, please refer to CONTRIBUTING.md.

Related resources

License

The project is under the MIT license.

所屬分類

依賴

依賴清單 7 項

原始碼儲存庫

使用此套件的專案