web-dev-qa-db-fra.com

iOS 11 getUserMedia ne fonctionne pas?

Apple a publié une déclaration selon laquelle getUserMedia sera entièrement fonctionnel sur iOS 11. Après avoir installé iOS 11 Beta version 5, je reçois un message indiquant que mon site Web demande l'accès à ma caméra et à mon microphone, mais il semble que la ligne:

video.src = window.URL.createObjectURL(stream);

ou:

video.srcObject = stream;

Ne marche pas. Pas d'erreurs, pas d'exceptions, simplement pas d'image de l'appareil photo du téléphone.

Voici mon script complet:

$(function () {
     video = document.getElementById('vid');

     navigator.getUserMedia = navigator.getUserMedia ||
                              navigator.webkitGetUserMedia ||
                              navigator.mozGetUserMedia;

     navigator.getUserMedia(
     {
         audio: true,
         video: { facingMode: "user" }
     }, function (stream) {
         video.srcObject = stream;
         //video.src = window.URL.createObjectURL(stream);
     },
     function (err) {           
         alert(err.name);
     });
});

HTML:

<video id="vid" muted autoplay></video>

Quelqu'un l'a-t-il fait fonctionner? Toute idée serait appréciée.

12
Koby Douek

Résolu en utilisant ce qui suit:

$(function () {
    video = document.getElementById('vid');
    video.style.width = document.width + 'px';
    video.style.height = document.height + 'px';
    video.setAttribute('autoplay', '');
    video.setAttribute('muted', '');
    video.setAttribute('playsinline', '');

    var constraints = {
         audio: false,
         video: {
             facingMode: 'user'
         }
    }

    navigator.mediaDevices.getUserMedia(constraints).then(function success(stream) {
        video.srcObject = stream;
    });
});
10
Koby Douek