目标:
为 WebKit 中不支持的 WebRTC JS API 提供原生支持,并通过 WkWebView 中加载的 webapp 进行 WebRTC 调用。
到目前为止我尝试了什么:
目前 webkit 不支持 WebRTC W3C JavaScript API。
cordova 提供了一个跨平台插件。支持 webRTC 但我不想跨平台。
有一个webRTC native framework可用,但我不想完全采用原生方式。
到目前为止,我能够在 JavaScript 中覆盖 navigator.getUserMedia
navigator.getUserMedia = function(constraints, onSuccess, onError){
myWebRTC.getUserMedia(document.getElementById('roomid').value)
}
并调用原生AppRTC SDK API从原生端发起调用,就可以了。
if let roomId=NSUserDefaults.standardUserDefaults().valueForKey("RoomId"){
appClient = ARDAppClient(delegate: self)
appClient?.createLocalMediaStream()
appClient?.connectToRoomWithId(String(roomId), options: nil)
localVideoView?.hidden = false;
remoteVideoView?.hidden = false;
btnDisconnect?.hidden = false;
webview?.hidden = true;
}
这里是完整的 source code
AppRTC 它有自己的原生视频 View ,但我想在 webview 内的 HTML 元素中显示视频。
AppRTC 也不提供视频流...即使我可以从中获取流。如何将流提供给 wkwebview 是一个挑战,因为它的 RTC 仅评估 JavaScript 我认为它是不可能的。
所以我整合了CocoaHTTPServer我正在考虑找到一种方法将其流式传输到 WkWebView。
非常感谢任何有助于实现我的目标的见解和建议!
您可以使用 plugin iosRTC适用于 iOS 和适用于 android 的人行横道,但我们没有找到跨平台插件:/
这里是我们的教程:https://apirtc.com/apirtc-on-cordova/
还有一个带有cordova的示例项目:https://github.com/apizee/ApiRTC-mobile
关于ios - 如何在 WebKit(WkWebview) 中为不支持的 webRTC JS API 提供 native 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37695739/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) | Powered by Discuz! X3.4 |