如何在 flutter 中使用 WebRTC 实现电话会议视频聊天(Android 和 Ios)

Roh*_*loi 3 webrtc flutter

我正在尝试在 Android 和 Ios 的 flutter 中使用 WebRTC 实现会议视频通话,现在无法找到使用 webRTC 进行用户会议视频聊天的任何解决方案

小智 6

flutter_webrtc在构建 Flutter WebRTC 应用程序时,包文档并不是很丰富。

要使用 WebRTC 将音频/视频通信添加到 Flutter 应用程序,请添加依赖项:

flutter pub add flutter_webrtc
Run Code Online (Sandbox Code Playgroud)

添加 iOS 权限:将以下权限条目添加到Info.plist位于/ios/Runner/Info.plist的文件中:

<key>NSCameraUsageDescription</key>
<string>$(PRODUCT_NAME) Camera Usage!</string>
<key>NSMicrophoneUsageDescription</key>
<string>$(PRODUCT_NAME) Microphone Usage!</string>
Run Code Online (Sandbox Code Playgroud)

添加 Android 权限:要在 Android 上启用用户权限,请将以下内容添加到Android Manifest file位于/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" />
Run Code Online (Sandbox Code Playgroud)

您还需要进行一些更改build.gradle

接下来,首先在屏幕上渲染本地用户:

使用 WebRTC 的本地视频

然后,我们需要连接到远程用户并渲染他们的视频。为此,我们需要了解 WebRTC 的工作原理。与之相关的术语有 NAT(网络地址转换)、ICE(交互式连接建立)、STUN(会话遍历实用程序)、TURN 等。

我们生成一个报价和一个答案来连接两个对等点。

在此输入图像描述

您可以查看关于Flutter WebRTC 的综合指南来构建音频/视频通信应用程序。