首页 文章

在Native App中使用Webrtc

提问于
浏览
12

我的问题是:

1 - 是否可以在我的Native App中使用WebView(由Native框架提供)实例,并将其扩展为支持Webrtc,

如果1为是,则可能跟随的是动作项

1 - 在Android上构建一个webrtc,2 - 在Android WebView中扩展Javascript以耦合/绑定Webrtc调用,

请确认..

我想做的是

1 - 我们有基于webrtc的语音/视频聊天应用程序在Chrome和Mozilla桌面浏览器中运行良好,因为它们都带有webrtc ...,即用户需要访问www.xyz.com,它将启动视频/语音会话,

2 - 在移动设备上同样的事情,我们希望作为本机应用程序,即我们正在尝试创建一个应用程序,它将具有本机WebView实例,我们将访问www.xyz.com以进行语音/视频会话

3 - 我尝试了我在2中解释的方式,但似乎在Application框架提供的WebView实例中没有启用webrtc,所以我试图添加它,这就是我的想法,

  • WebView实例有一些扩展Javascript的机制,这意味着http://dev.w3.org/2011/webrtc/editor/webrtc.html我需要将一些API添加到WebView中,如果我能够通过android和iOS平台成功集成和构建Webrtc,它们的实现将会实现

请评论....

7 回答

  • 1

    我知道这个问题有点旧,但我发现人行横道(https://crosswalk-project.org/)是在Android应用程序中使用WebRTC的一个非常好的解决方案 . 人行横道做的是将Chrome浏览器编译成Android应用程序并在此Chrome中托管您的网站,因此您将支持最新的浏览器功能,如WebRTC .

  • 1

    如果你想在原生应用程序中使用webRTC,我已经构建了一个小型的Android应用程序(https://github.com/pchab/AndroidRTC),它将后置摄像头共享到nodeJS服务器(https://github.com/pchab/ProjectRTC) . 我发现使用libjingle库的最简单方法是使用IntelliJ IDEA . 我在Eclipse和Android Studio上遇到了很多问题 .

  • 2

    Android WebView此时不支持WebRTC API .

    Java上的Objective-C绑定工作正在进行中,但这可能无法解决您的问题 .

  • 3

    你将很难使用WebView,尽管它至少会出现在(更新的)Android上 . iOS没有什么可以实现的 .

    如果你想要完整的原生,你可以看看我们用IceLink做了什么@ FM,听起来它可能适合你 .

  • 7

    使用Android L版本,只需使用Android WebView就可以实现,更多信息如下:http://developer.android.com/about/versions/android-5.0.html#WebView

  • 0

    我正在构建一个带有webview和webrtc视频的本机应用程序 . 所以一般来说有可能构建这样的应用程序,而现在chrome(webview)有一个官方支持https://developer.chrome.com/multidevice/webview/overview,但我在编写该应用程序时遇到了很多问题 .

    几个问题是:

    • 支持手机和操作系统版本 - 我有android 5.1.1(xperia m2)和webrtc运行后出现很多问题 . 在Android 6(xperia z5紧凑)不工作..在其他手机有时工作有时不...

    • 你无法确定webview如何运作 - 今天webrtc正在运行,但tommorow Google可以添加一些安全规则,它不会工作 - 它有点不稳定,正如我所见,有些东西依赖于os编译 . WebView可以独立于os从商店获得更新 .

    • PERMISSIONS - 有很多愚蠢的问题,基于它是本机应用程序中的浏览器这样的事实,比如 - 你不能指望来自webview的权限问题,你必须在android webview配置中实现它,并且在某些它正在运行的android版本 - 其他没有:-)

    • 'young product'还有很多问题 - 例如,现在webview在设备信息显示方面存在一些问题(比如相机正面或背面),所以你必须找到解决这个问题的方法

    • 视频质量差 - 目前我的问题是视频质量 - 手机上的视频质量很好,低于消耗的最大资源(cpu,网络,内存)和计算机上的视频真的很差......

    • ......还有更多

    所以事实是 - 是的,这是可能的,但是如果不面对很多不容易解决的问题,使用它仍然不够好 .

  • 3

    你实际上可以使用html5功能 . 因此,如果你像之前提到的那样使用Crosswalk,但是如果你真的反对使用:Crosswalk / Ionic / Angular / Cordova(这很棒),你仍然可以在原生环境中使用Crosswalk来替换不一致和功能缺少WebViews与1个基于Blink引擎的完整WebRTC兼容WebView .

    我记得读过一些关于如何在Android Studio中使用Crosswalk的指南,这里有一堆 . https://www.snip2code.com/Snippet/34721/How-to-use-CrossWalk-runtime-within-an-A

相关问题