gpt4 book ai didi

codenameone - 使用代号一在 WebView 上实现 WebRTC

转载 作者:行者123 更新时间:2023-12-04 03:12:55 24 4
gpt4 key购买 nike

我正在开发一个应用程序,我需要使用 Android 的 WebView 来包含 WebRTC。根据这篇文章:[ https://developer.chrome.com/multidevice/webview/overview]自 WebView v36 以来,它得到了完全支持。 (我正在 Android 5.1.1/Chrome 54/Mobile Safari 537.36 上进行测试。我确认它可以在独立的 Chrome 浏览器上运行)。

截至目前,可以查看 WebRTC。

但是,广播(从摄像机捕获视频并将其发送到服务器)不起作用。注意:它适用于同一 Android 上的独立 Chrome。

我已将所有这些权限包含在 codenameone_settings.properties 文件中:

android.xpermissions=<uses-permission android:name="android.permission.CAMERA" android:required="true"/>\
<uses-permission android:name="android.permission.RECORD_AUDIO" android:required="true" />\
<uses-permission android:name="android.permission.INTERNET" android:required="true" />\
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:required="true" />\
<uses-permission android:name="android.permission.CAMERA" android:required="true" />\
<uses-feature android:name="android.hardware.audio.low_latency" android:required="true" />\
<uses-feature android:name="android.hardware.audio.pro" android:required="true" />\
<uses-feature android:name="android.hardware.microphone" android:required="true"/>\
<uses-feature android:name="android.hardware.camera" android:required="true" />\
<uses-feature android:name="android.hardware.camera.autofocus" android:required="true"/>\
<uses-feature android:name="android.hardware.camera" android:required="true" />\
<uses-feature android:name="android.hardware.camera.front" android:required="true" />
  1. 这是激活所有必要的 Android 权限的方式吗。
  2. 您认为导致 WebRTC 无法正常运行的原因是什么?

WebView 由 BrowserComponent 类调用。

我知道 Android 代码被翻译成本地代码,我相信有办法让它工作。谢谢!

最佳答案

我刚刚看了几个例子( herehere ,看起来 webview 需要授予一些权限才能让 webrtc 工作。

我做了一个small change到我们的 Android 端口,应该允许您授予这些权限。您只需要指定应允许权限的来源。为此,您可以将“android.WebView.grantPermissionsFrom”显示属性设置为您要授予权限的 URL(或以空格分隔的 URL)。

例如


Display.getInstance().setProperty(
"android.WebView.grantPermissionsFrom",
"https://www.example.com/"
);

在您应用的 init() 或 start() 方法中调用它。

注意 这些更改在下一次服务器更新之前不可用。我不确定具体是什么时候,因为训练营现在正在进行中。通常是每个星期五,但由于训练营的原因,可能会延迟到五月的第一周。

关于codenameone - 使用代号一在 WebView 上实现 WebRTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43541962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com