web-dev-qa-db-ja.com

iOS 11 getUserMediaが機能しませんか?

AppleはgetUserMediaがiOS 11で完全に機能するという声明を発表しました。iOS11 Betaバージョン5をインストールした後、Webサイトがカメラとマイクへのアクセスを要求するというメッセージを受け取りますが、

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

または:

video.srcObject = stream;

動作しません。エラーも例外もありません。電話のカメラからの写真もありません。

完全なスクリプトは次のとおりです。

$(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>

誰かがそれを機能させましたか?任意のアイデアをいただければ幸いです。

12
Koby Douek

以下を使用して解決しました:

$(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