WebRTC plugin for Flutter Mobile/Desktop/Web
Sponsored with
Enterprise Grade APIs for Feeds & Chat. Try the Flutter Chat tutorial
Feature | Android | iOS | Web | macOS | Windows | Linux | Fuchsia | Embedded |
---|---|---|---|---|---|---|---|---|
Audio/Video |
|
|
|
|
|
[WIP] | ||
Data Channel |
|
|
|
|
|
[WIP] | ||
Screen Capture |
|
|
|
|||||
Unified-Plan |
|
|
|
|
|
|||
Simulcast |
|
|
|
|
[WIP] | |||
MediaRecorder |
|
|
|
Add flutter_webrtc
as a dependency in your pubspec.yaml file.
Add the following entry to your Info.plist file, located in <project root>/ios/Runner/Info.plist
:
<key>NSCameraUsageDescription</key>
<string>$(PRODUCT_NAME) Camera Usage!</string>
<key>NSMicrophoneUsageDescription</key>
<string>$(PRODUCT_NAME) Microphone Usage!</string>
This entry allows your app to access camera and microphone.
Ensure the following permission is present in your Android Manifest file, located in <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" />
If you need to use a Bluetooth device, please add:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
The Flutter project template adds it, so it may already be there.
Also you will need to set your build settings to Java 8, because official WebRTC jar now uses static methods in EglBase
interface. Just add this to your app level build.gradle
:
android {
//...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
If necessary, in the same build.gradle
you will need to increase minSdkVersion
of defaultConfig
up to 21
(currently default Flutter generator set it to 16
).
When you compile the release apk, you need to add the following operations,Setup Proguard Rules
The project is inseparable from the contributors of the community.
For more examples, please refer to flutter-webrtc-demo.
This project exists thanks to all the people who contribute. [Contribute].
Become a financial contributor and help us sustain our community. [Contribute]
Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]
最近正纠结如何在 Flutter 上实现 webRTC 的功能,而 Flutter 在原生支持上,远不如 React Native 方便,而自己实现是不可能的,这辈子都不可能的,最后让我终于在 github 上发现了这个 AgoraIO/Flutter-SDK ,顺藤摸瓜发现原来是一家叫声网的 SDK ,它家的 webRTC 系列居然是全平台制霸的,妥了!!! 感受下,加上 Flutter 版本,
我是在Linux系统下配置Flutter环境的,具体操作步骤如下: 在flutter官网下载Linux 最新版的flutter_sdk,这里我没有下载最新版本的,导致用Android Studio 构建flutter项目时总是出错.下载好之后解压. 终端输入第一个命令: vim ~/.bash_profile 这里说明一点:Unbutu默认没有此文件,可新建,具体Linux有关环境变量的文件可以参
Flutter Desktop Embedding 是谷歌官方推出的一个兼容库,可将 Flutter 框架的 API 用于开发跨平台的桌面应用。 按文档的说法,只要把手机应用的源码改改,就能编译成桌面应用。此项目的目的是支持在 Windows,macOS 和 Linux上构建使用 Flutter 开发的应用程序。 它提供的 Flutter API,可处理绘图和鼠标/键盘输入的库,以及用于访问其他原
我正在寻找flutter桌面插件的帮助。我正在使用https://github.com/google/flutter-desktop-embedding开发桌面应用程序。直到我只使用了从盒子里出来的功能,所有的功能都很好。现在我必须实现一个缺失的部分(使用外部打印机打印文件)。我很挣扎,因为github存储库中的示例没有给出如何做到这一点的完整愿景。有一个目录,负责为windows构建应用程序的代
null 直接从Flutter Web访问库(似乎可以https://medium.com/flutter-community/using-javascript-code-in-flutter-web-903de54a2000) 但我不确定此解决方案是否也适用于Mobile Flutter 在推出Flutter应用程序时,这将是最快的选择,但它也有一个缺点,即我需要在之后用另一种语言重写库
Introduction Slitaz的默认桌面是由LXDE项目的不同组件Openbox,PCmanFM 和LXPanel等组成的,带给你简洁但功能强大的桌面系统. Openbox Openbox是一个轻量级的窗口管理器,它占用的资源很小,是Testing版的默认窗口管理器。窗口管理器是一个可以管理窗口外观、启动一些程序的程 序,它还可以改变窗口的位置、大小等参数。 openbox提供一个右键菜单
Desktop Building native-like Elixir apps for Window, MacOS, Linux, iOS and Android using Phoenix LiveView! Changes in 1.2 Removed the bleeding edge notices because Erlang OTP 24 is now broadly availab
Brave Desktop 是桌面浏览器,支持 Mac OS X,Linux 和 Windows 平台,其特色是能够通过屏蔽程序化的广告,并换成自家的“广告库”,以快速呈现网站。 桌面版 Brave 浏览器可提升 40% 的页面载入速度,该浏览器其实基于开源的 Chromium 打造,集成了 HTTPS,并且用到了 GitHub Atom 文本编辑器中的 Electron 工具。 此外还有 iOS
Tweetz Desktop 是一个开源的 Twitter 桌面客户端。基于 WPF 开发。要求:Windows 7 or Windows 8 and .NET 4.5.1
PHP Desktop 旨在提供使用 PHP、HTML5、JavaScript 和 SQLite 等 Web 技术开发原生桌面 GUI 应用程序的方法。它可以轻松地将 PHP Web 应用程序和 PHP CLI 工具转换为桌面应用程序。 在某种意义上,PHP Desktop 可充当 PHP-EXE 编译器。 特性: 每月发布最新 Chrome 版本 自动构建系统 跨平台支持,在 Mac 和 Lin