Автозапуск Видеоэлемент из Javascript не работает на iOS Safari - PullRequest
3 голосов
/ 09 января 2020

Я пытаюсь получить видеопоток с камеры телефона и отобразить его на элементе видео. Вот суть кода, который у меня есть:

    ...
    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), но это не помогло Похоже, проблема не решается.

Итак, я хотел бы знать, есть ли здесь какие-либо другие способы решения этой проблемы или я должен искать альтернативные способы показа видеопотока. Любая помощь / предложения с благодарностью.

1 Ответ

0 голосов
/ 09 января 2020

Вы пытались добавить playsinline к элементу видео?

https://webkit.org/blog/6784/new-video-policies-for-ios/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...