带 easyrtc 的 Safari WebRTC

Safari WebRTC with easyrtc

在 Chrome,我在 easyrtc.js 上获得了完整的网络摄像头和麦克风支持,但 Safari 不想合作。

最新版本的 Safari 被列为与 WebRTC 兼容 (https://webkit.org/blog/7627/safari-technology-preview-32/)。另外,我在Develop菜单下有"Enable Legacy WebRTC API"的选项。

没有启用 Legacy WebRTC API,我从 easyrtc Your browser doesn't appear to support WebRTC. 收到错误消息 Your browser doesn't appear to support WebRTC. 启用它后,我从 easyrtc.js this.createObjectURL 收到错误消息 Unhandled Promise Rejection: TypeError: Type error ] 函数位于:window.URL.createObjectURL(mediaStream).

有什么想法可以让 Safari 的行为像 Chrome 版本一样吗?

免责声明:我对easyrtc.js

一无所知

看起来 easyrtc 依赖于旧版本的 WebRTC API 来检测 WebRTC 兼容性,这解释了为什么旧版选项 "gets you further"。

就 promise 错误而言:this.createObjectURL 已被弃用一段时间以支持 srcObject 赋值。

Any ideas how to get Safari to behave like the Chrome version?

你可能不会让他们表现得一样。 但是 我建议您签出 adapter 并将其包含在您的项目中。这个项目试图消除浏览器供应商之间的此类 API 差异,直到 API 稳定下来。

遇到与 easyrtc 相同的问题,然后在开发中使用了 easyrtc 的 beta 分支并且它有效。以前,使用的是 master 分支。

beta 分支包括 playsinline for safari。

使用 :

克隆他们的 beta 分支

git clone -b <branchName> <repository>
表示

git clone -b beta https://github.com/priologic/easyrtc.git