Я пытаюсь получить видеопоток с камеры телефона и отобразить его на элементе видео. Вот суть кода, который у меня есть:
...
navigator.mediaDevices.getUserMedia(constraints)
.then((stream)=>{
video.srcObject=stream;
video.volume=0;
video.mute=0;
video.play(); //error here on iOS Safari
...
Хотя это работает на всех настольных компьютерах и android браузерах, похоже, это не работает на iOS, давая мне ошибка в строке video.play()
.
Из того, что я понимаю до сих пор, это похоже на меру безопасности Safari для мобильных устройств , позволяющую веб-сайтам потреблять слишком много данных пользователя. То есть браузер не разрешит video.play()
, если он специально не инициирован пользователем. Я пытался добавить атрибут "muted
" на самом элементе видео (кроме просто autoplay
), но это не помогло Похоже, проблема не решается.
Итак, я хотел бы знать, есть ли здесь какие-либо другие способы решения этой проблемы или я должен искать альтернативные способы показа видеопотока. Любая помощь / предложения с благодарностью.