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 не стабилизируется.