2

客观的:

为 WebKit 中不支持的 WebRTC JS API 提供原生支持,并通过 WkWebView 中加载的 webapp 进行 WebRTC 调用。

到目前为止我尝试过的:

截至目前,webkit 不支持 WebRTC W3C JavaScript API。

cordova提供了一个跨平台插件来支持 webRTC,但我不想采用跨平台方式。

有一个可用的 webRTC原生框架,但我不想完全采用原生方式。

到目前为止,我能够在 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;
}

这是完整的源代码

AppRTC 它有自己的本机视频视图,但我想在 webview 内的 HTML 元素中显示视频。

AppRTC 也不提供视频流......即使我可以从中获取流。如何将流提供给 wkwebview 是一个挑战,因为它的 RTC 仅评估 JavaScript 我认为它不可能。

所以我已经集成了 CocoaHTTPServer并且我正在考虑找到一种方法从这个流到 WkWebView。

非常感谢任何有助于实现我的目标的见解和建议!

4

1 回答 1

0

您可以使用插件 iosRTC for iOS 和 crosswalk for android 但我们没有找到跨平台插件:/

这是我们的教程:https ://apirtc.com/apirtc-on-cordova/

还有一个带有cordova的示例项目:https ://github.com/apizee/ApiRTC-mobile

于 2016-06-09T07:10:33.790 回答