Safari WebRTC с easyrtc

В Chrome я получаю полную поддержку веб-камеры и микрофона в обоих направлениях с easyrtc.js, но Safari не хочет сотрудничать.

Последняя версия Safari указана как совместимая с WebRTC ( https://webkit.org/blog/7627/safari-technology-preview-32/). Кроме того, у меня есть опция "Включить устаревший API WebRTC" в меню "Разработка".

Без Legacy WebRTC API включен, я получаю сообщение об ошибке от easyrtc Your browser doesn't appear to support WebRTC. После включения я получаю сообщение об ошибке Unhandled Promise Rejection: TypeError: Type error от easyrtc.js this.createObjectURL функция в: window.URL.createObjectURL(mediaStream),

Есть идеи, как заставить Safari вести себя как версия Chrome?

2 ответа

Решение

Я столкнулся с той же проблемой с easyrtc, тогда я использовал бета-ветку easyrtc в разработке, и она работает. Предыдущий я использовал основную ветку.

бета ветка включает playsinline для сафари.

Я их клонировал beta ветвь используя:

git clone -b <branchName> <repository>
средства

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

Отказ от ответственности: я ничего не знаю о easyrtc.js

Похоже, что easyrtc использует более старую версию WebRTC API для определения совместимости с WebRTC, что объясняет, почему опция Legacy "продвигает вас дальше".

Насколько ошибка обещания идет: this.createObjectURL долгое время считалось устаревшим в пользу srcObject назначение.

Есть идеи, как заставить Safari вести себя как версия Chrome?

Вы, вероятно, не заставите их вести себя одинаково. Но я бы порекомендовал вам оформить заказ адаптера и включить его в свой проект. Это проект, который пытается устранить подобные различия API между поставщиками браузеров, пока API не стабилизируется.

Другие вопросы по тегам