Ce plugin Flutter est un wrapper pour Agora Video SDK
Agora.io vous fournit des éléments constitutifs pour ajouter des communications vocales et vidéo en temps réel via un SDK simple et puissant. Vous pouvez intégrer le SDK Agora pour permettre rapidement les communications en temps réel dans votre propre application.
Remarque: La branche
mainest une base de mise à jour majeure sur le SDK 4.x natif d'Agora, qui introduit certains changements de rupture. Sormes précédentes Veuillez consulter les succursales suivantes (la version <6.0.0):
- 5.x
Pour utiliser ce plugin, veuillez ajouter agora_rtc_engine comme dépendance à votre fichier pubspe.yaml.
Agora Video SDK a besoin Camera et de la permission Microphone pour démarrer un appel vidéo.
Pour les derniers paramètres d'autorisation, veuillez vous référer à la documentation à https://docs.agora.io/en/video-calling/get-started/get-started-sdk?platform=Android#project-setup
Voir les autorisations de périphérique requises à partir du fichier AndroidManifest.xml.
< 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 " />Pour les derniers paramètres d'autorisation, veuillez vous référer à la documentation à https://docs.agora.io/en/video-calling/get-started/get-started-sdk?platform=ios#project-setup
Ouvrez les Info.plist et ajoutez:
Privacy - Microphone Usage Description , et ajoutez une description dans la colonne Value .Privacy - Camera Usage Description et ajoutez une description dans la colonne Value . L'
agora_rtc_enginepour le Web est actuellement en phase alpha, et la documentation est incomplète et n'a été testée que sur le Web dektop pour le moment.Le Web
agora_rtc_engineest construit sur IRIS_WEB, un wrapper pour le SDK Web Agora 4.x. Cela permet d'aligner les API SDK native (Android / IOS / MacOS) via le SDK Web Agora 4.x. Veuillez noter que le Web Agora_RTC_Engine utilise le SDK 4.x Agora en dessous, donc seul un sous-ensemble des API SDK natif peut être implémenté sur le Web. Si les API renvoientAgoraRtcExceptionavec un code d'erreur-4, cela signifie que ces API ne sont pas prises en charge pour le moment.
Téléchargez l'artefact iris_web (voir le lien ci-dessous) et incluez-le comme une balise <script /> dans votre fichier <your-project>/web/index.html . Par exemple:
Structure du projet
<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 >Télécharger: https://download.agora.io/sdk/release/iris-web-rtc_n450_w4220_0.8.6.js
À des fins de test
Vous pouvez dépendre directement du CDN Agora à des fins de test:
<!-- <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 >Remarque : Cette fonctionnalité nécessite
agora_rtc_engine> = 6.3.0
En raison des contraintes de performances, la mise en œuvre directe de fonctionnalités avancées telles que le traitement des données brutes et audio RAW n'est pas actuellement possible du côté flottant.
Nous vous permettons de créer un RtcEngine dans Flutter en utilisant la poignée native de la RtcEngine (Android) ou AgoraRtcEngineKit (IOS) du SDK natif Agora RTC. Cette approche permet à votre application d'utiliser directement les fonctionnalités avancées du SDK natif Agora RTC via le package agora_rtc_engine , combler l'écart entre les capacités natives et l'environnement de Flutter.
Plus de détails, veuillez vérifier l'exemple ProcessVideorawdata pour référence.
Si vous rencontrez des problèmes avec iOS ne fonctionnant pas en mode de libération, vous devrez peut-être définir la configuration ci-dessous pour éviter les symboles de décapage.
Veuillez vous référer à la documentation Flutter pour plus d'informations.
Si vous avez des problèmes ou des suggestions concernant les exemples de projets, n'hésitez pas à déposer une demande de problème ou de traction.
Pour aider à travailler sur ce SDK, veuillez vous référer à contribution.md.
Le projet est sous la licence MIT.