目的:
为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它有自己的原生视频视图,但我想在webview中的HTML元素中显示视频。
AppRTC也不提供视频流......即使我可以通过它来获取流。如何将流提供给wkwebview是一个挑战,因为它的RTC只是评估JavaScript我觉得它不可能。
所以我已经集成了CocoaHTTPServer,我正在考虑找到一种从此流式传输到WkWebView的方法。
我们非常感谢任何有关实现目标的见解和建议!
答案 0 :(得分:0)
您可以使用plugin iosRTC for iOS和crosswalk for android但我们没有找到跨平台插件:/
这里是我们的教程:https://apirtc.com/apirtc-on-cordova/
使用cordova的一个示例项目:https://github.com/apizee/ApiRTC-mobile