2017-08-15 346 views
6

蘋果發佈聲明,稱getUserMedia將是全功能在iOS上安裝11 11的iOS Beta版5之後,我得到我的網站請求訪問我的攝像頭和麥克風的消息,但似乎行:iOS 11 getUserMedia無法正常工作?

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> 

有沒有人得到它的工作?任何想法,將不勝感激。

回答

5

通過以下解決它:

$(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; 
    }); 
}); 
+0

是的,它搬到navigator.mediaDevices。另外請注意,雖然視頻似乎無處不在,但音頻無法在iPod touch上使用 - 請求音頻會導致過度約束錯誤。 –

+0

我在視頻中看到了一個黑屏,而且我的代碼幾乎相同。你有沒有遇到這個問題?謝謝 –

+1

解決黑屏: