Плохие новости:
Веб-приложения iOS не поддерживают getUserMedia, что означает, что вы вообще не сможете получить доступ к камере пользователя. Начиная с января 2019 г. обходного пути не существует. Я также жду поддержки getUserMedia
в iOS WebViews, поэтому я чувствую вашу боль.
Всякий раз, когда у меня возникают вопросы о таких функциях браузера, я считаю очень полезным проверить caniuse.com . В этом случае это показывает, что последняя версия Safari & Chrome для iOS (выпущенная в сентябре 2018 года) поддерживает getUserMedia
, но это ...
Не работает в автономно работающих («установленных») PWA, getUserMedia
не возвращает никаких устройств видеовхода в UIWebView
или WKWebView
, но только непосредственно в Safari.
Благая весть:
Если вы просто заинтересованы в том, чтобы ваш сайт работал на устройствах iOS, то вам повезло. Вам не нужно использовать WebView, если вы не создаете приложение для App Store . getUserMedia
будет работать для пользователей, которые посещают ваш сайт с помощью Safari на iOS! И если это поможет, ваши пользователи могут даже добавить ссылку на ваш сайт на свой домашний экран на iOS, что очень похоже на приложение.
Другие новости:
getUserMedia
контролирует доступ к камере и микрофону пользователя, тогда как WebRTC помогает вам отправлять это аудио / видео другому клиенту, как в видеочате. Во-первых, вы застряли на получении видео, поэтому вам не нужно беспокоиться о WebRTC, но когда вы это сделаете, я рекомендую вам прочитать Эта статья , которая помогла мне.
И если вы хотите самостоятельно протестировать getUserMedia
или функции WebRTC, попробуйте использовать Эти предоставленные образцы , чтобы вы могли быть уверены, что это не ошибка вашего собственного кода:)