1

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

最新版本的 Safari 被列为与 WebRTC 兼容 ( https://webkit.org/blog/7627/safari-technology-preview-32/ )。此外,我可以在“开发”菜单下选择“启用旧版 WebRTC API”。

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

任何想法如何让 Safari 表现得像 Chrome 版本?

4

2 回答 2

1

面临与easyrtc相同的问题,然后在开发中使用easyrtc的beta分支并且它可以工作。以前,正在使用主分支。

beta 分支包括playsinlinesafari。

使用克隆他们的beta分支:

git clone -b <branchName> <repository>
方法

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

于 2018-05-26T11:07:14.710 回答
0

免责声明:我对easyrtc.js一无所知

看起来 easyrtc 依赖于旧版本的 WebRTC API 来检测 WebRTC 兼容性,这解释了为什么 Legacy 选项“让你走得更远”。

就承诺错误而言:this.createObjectURL已被弃用很长一段时间以支持srcObject分配。

任何想法如何让 Safari 表现得像 Chrome 版本?

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

于 2017-07-27T13:56:21.473 回答