# WebRTC 常见问题
# 1. FinClip SDK是否支持 WebRTC?
支持,使用时请确保 SDK 及手机系统均满足以下条件:
SDK版本要求 | 手机系统要求 | |
---|---|---|
Android | SDK版本为2.24.1及以上 | Android系统 6.0及以上 |
iOS | SDK版本为2.33.9及以上 | iOS系统 14.3及以上 |
提示
1.iOS 2.24.4~~2.27.1 也支持 WebRTC,不过在 H5 中读取 UserAgent 会偶现不包含 Provider/finogeeks (miniprogram; FinChat; runtimeSdkVersion/2.27.1) 的情况,建议使用 2.33.9 以及以上版本。 2.Android 支持情况请查看后文中的详细说明。
# 2. 如何在 FinClip SDK 内使用 WebRTC?
由于 WebRTC 本质是在网页浏览器中进行实时语音对话或视频,而 FinClip SDK 是支持 webview 打开指定H5页面的。
因此,在使用包含 WebRTC 相关能力的 H5 页面时,开发者只需关注以下问题:
- WebRTC 通常需要一个中转服务器,该服务器的业务域名也需要进行域名配置 如何实现域名配置?
- 使用包含音视频功能的 H5 前,需要提前申请摄像头和麦克风权限,建议由 App 先申请权限。
FinClip SDK 并未声明录音权限,因此需要APP添加权限声明。 以 Android 为例,在 Manifest 文件中添加以下权限声明:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
# 3. 关于App权限与SDK内小程序的关系
情形一:App 已经向用户成功获取了摄像头、麦克风权限
- 此时在 FinClip SDK 内加载包含 WebRTC 的 H5 时,就可以直接采集音视频了;
- 同时,H5内的功能也可以弹出 Alert,询问用户是否允许采集摄像头、是否允许使用麦克风,从而实现单独控制采集的目标。
情形二:如果用户未给予 App 开启摄像头、麦克风权限
- 此时,SDK 加载包含 WebRTC 功能的 H5 时,将无法采集音视频。
# 4. 关于 FinClip Android SDK 对 WebRTC 支持情况的说明
- FinClip Android SDK 对WebRTC的支持源于 Android 原生 WebView 对 WebRTC 的支持。
- 根据 Android 开发者平台关于 Android 5.0 版本 WebView 的相关描述,WebView 自 Android 5.0 版本起添加了对 WebRTC 的支持。相关描述 (opens new window)
- 云测数据表明,Android 5.0机型对于WebRTC官方示例AppRTC还不能正常支持。
原因在于 Android 5.0 WebView 内核由 Android System WebView APK 提供,而 Android 5.0 云测设备包含的 Android System WebView APK 版本都比较低。 - Android 6.0 及以上版本机型云测几乎全部通过对 AppRTC 支持。因为可以认定为 FinClip Android SDK 对 WebRTC 支持的最低 Android 系统版本为 Android 6.0。