Delphi Firemonkey TWebBrowser 在 Android、iOS 和 MacOS 中使用 WebRTC

sha*_*ful 6 delphi firemonkey webrtc

已经在Delphi TWebbrowser 上为此创建了一个帖子以使用 -enable-media-stream,但尚未收到任何评论或答案。所以我提出一个不同的问题。如何在 Android、iOS 和 MacOSX 中使用 TWebBrowser 使用 WebRTC?在 Windows 中,我使用了 TChromiumFMX,它具有从命令行启用媒体流的功能。但是怎么用TWebBrowser。对于 Android,我添加了以下权限和用户功能:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-feature android:name="android.hardware.audio.low_latency"/>
<uses-feature android:name="android.hardware.audio.pro"/>
<uses-feature android:name="android.hardware.microphone" android:required="true"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-feature android:name="android.hardware.camera" android:required="true"/>
<uses-feature android:name="android.hardware.camera.front" android:required="true"/>
<uses-feature android:glEsVersion="0x00020000" android:required="True"/>
Run Code Online (Sandbox Code Playgroud)

它不起作用,我只在 TWebBrowser 上得到一个带有黑色播放按钮图像的黑色圆圈。请帮忙。 在此处输入图片说明

我的代码加载网址:

  {$IFDEF MSWINDOWS}
  mybrowser.Load(Format('https://www.myhost.com/multiple.html?room=%s', [NumberBox1.Value.ToString]));
  {$ELSE}
  mybrowser.URL := Format('https://www.myhost.com/multiple.html?room=%s', [NumberBox1.Value.ToString]);
  mybrowser.Navigate
  {$ENDIF}
Run Code Online (Sandbox Code Playgroud)

上图显示在我的 Nexus 5 上。

Ist*_*van 0

我认为 iOS 上的 TWebBrowser 使用 Safari 引擎,但 Safari 还没有 WebRTC 功能。然而,Android 浏览器(内置 Chrome 也用于 WebViews)具有 WebRTC,如果它也能在 Delphi 应用程序中运行,那就太好了。

等待其他人对此发表评论。