Plugin webrtc pour Flutter Mobile / Desktop / Web
Parrainé avec? par
API de qualité d'entreprise pour les flux, le chat et la vidéo. Essayez le tutoriel vidéo Flutter
Livekit - infrastructure webrtc open source
| Fonctionnalité | Androïde | ios | Web | macos | Fenêtre | Linux | Intégré | Fuchsia |
|---|---|---|---|---|---|---|---|---|
| Audio / vidéo | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Canal de données | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Capture d'écran | ✔️ | ✔️ (*) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Plan unifié | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Simulance | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Médiateur | ✔️ | |||||||
| Cryptage de bout en bout | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Streams insérables |
Support supplémentaire de plate-forme / OS de l'autre communauté
Ajoutez flutter_webrtc en tant que dépendance dans votre fichier pubspe.yaml.
Ajoutez l'entrée suivante à votre fichier info.plist , situé dans <project root>/ios/Runner/Info.plist :
< key >NSCameraUsageDescription</ key >
< string >$(PRODUCT_NAME) Camera Usage!</ string >
< key >NSMicrophoneUsageDescription</ key >
< string >$(PRODUCT_NAME) Microphone Usage!</ string >Cette entrée permet à votre application d'accéder à la caméra et au microphone.
Le webrtc.xframework compilé après la version M104 ne prend plus en charge les périphériques IOS ARM, il faut donc ajouter la config.build_settings['ONLY_ACTIVE_ARCH'] = 'YES' à votre iOS / podfile dans votre projet
iOS / Podfile
post_install do | installer |
installer . pods_project . targets . each do | target |
flutter_additional_ios_build_settings ( target )
target . build_configurations . each do | config |
# Workaround for https://github.com/flutter/flutter/issues/64502
config . build_settings [ 'ONLY_ACTIVE_ARCH' ] = 'YES' # <= this line
end
end
end Assurez-vous que l'autorisation suivante est présente dans votre fichier Android Manifest, situé dans <project root>/android/app/src/main/AndroidManifest.xml :
< uses-feature android : name = " android.hardware.camera " />
< uses-feature android : name = " android.hardware.camera.autofocus " />
< uses-permission android : name = " android.permission.CAMERA " />
< uses-permission android : name = " android.permission.RECORD_AUDIO " />
< uses-permission android : name = " android.permission.ACCESS_NETWORK_STATE " />
< uses-permission android : name = " android.permission.CHANGE_NETWORK_STATE " />
< uses-permission android : name = " android.permission.MODIFY_AUDIO_SETTINGS " />Si vous devez utiliser un périphérique Bluetooth, veuillez ajouter:
< uses-permission android : name = " android.permission.BLUETOOTH " android : maxSdkVersion = " 30 " />
< uses-permission android : name = " android.permission.BLUETOOTH_ADMIN " android : maxSdkVersion = " 30 " />Le modèle de projet Flutter l'ajoute, donc il peut déjà être là.
Vous devrez également définir vos paramètres de build sur Java 8, car le pot WebBrTC officiel utilise désormais des méthodes statiques dans l'interface EglBase . Il suffit d'ajouter ceci à build.gradle :
android {
// ...
compileOptions {
sourceCompatibility JavaVersion . VERSION_1_8
targetCompatibility JavaVersion . VERSION_1_8
}
} Si nécessaire, dans le même build.gradle vous devrez augmenter minSdkVersion de defaultConfig jusqu'à 23 (le générateur de Flutter par défaut le définit sur 16 ).
Lorsque vous compilez l'apk de libération, vous devez ajouter les opérations suivantes, configurer des règles
Le projet est inséparable des contributeurs de la communauté.
Pour plus d'exemples, veuillez vous référer à Flutter-Webrtc-Demo.
Ce projet existe grâce à toutes les personnes qui contribuent. [Contribuer].
Devenir un contributeur financier et nous aider à maintenir notre communauté. [Contribuer]
Soutenez ce projet avec votre organisation. Votre logo apparaîtra ici avec un lien vers votre site Web. [Contribuer]