WebRTC插件用于扑波手机/桌面/网络
赞助? 经过
用于提要,聊天和视频的企业等级API。尝试Flutter视频教程
LiveKit-开源WEBRTC基础架构
| 特征 | 安卓 | ios | 网络 | macos | 视窗 | Linux | 嵌入 | 紫红色 |
|---|---|---|---|---|---|---|---|---|
| 音频/视频 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| 数据通道 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| 屏幕捕获 | ✔️ | ✔️(*) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| 统一计划 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| 模拟广播 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Mediarecorder | ✔️ | |||||||
| 端到端加密 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| 可插入的流 |
其他社区的其他平台/操作系统支持
将flutter_webrtc添加为pubspec.yaml文件中的依赖关系。
将以下条目添加到您的info.plist文件,位于<project root>/ios/Runner/Info.plist中:
< key >NSCameraUsageDescription</ key >
< string >$(PRODUCT_NAME) Camera Usage!</ string >
< key >NSMicrophoneUsageDescription</ key >
< string >$(PRODUCT_NAME) Microphone Usage!</ string >此条目允许您的应用访问相机和麦克风。
M104版本后编译的webrtc.xframework不再支持iOS ARM设备,因此需要添加config.build_settings['ONLY_ACTIVE_ARCH'] = 'YES'在您的ios/podfile中
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确保您的Android清单文件中存在以下权限,该文件位于<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 " />如果您需要使用蓝牙设备,请添加:
< uses-permission android : name = " android.permission.BLUETOOTH " android : maxSdkVersion = " 30 " />
< uses-permission android : name = " android.permission.BLUETOOTH_ADMIN " android : maxSdkVersion = " 30 " />Flutter Project模板添加了它,因此它可能已经存在。
另外,您还需要将构建设置设置为Java 8,因为官方WebRTC Jar现在使用EglBase接口中的静态方法。只需将其添加到您的应用级别build.gradle :
android {
// ...
compileOptions {
sourceCompatibility JavaVersion . VERSION_1_8
targetCompatibility JavaVersion . VERSION_1_8
}
}如有必要,在同一build.gradle中,您需要将defaultConfig的minSdkVersion提高到23 (当前默认的Flutter Generator将其设置为16 )。
编译发布APK时,您需要添加以下操作,设置Proguard规则
该项目与社区的贡献者密不可分。
有关更多示例,请参阅Flutter-Webrtc-Demo。
由于所有贡献的人,该项目的存在。 [贡献]。
成为财务贡献者,并帮助我们维持社区。 [贡献]
与您的组织一起支持这个项目。您的徽标将在此处显示您网站的链接。 [贡献]