2017-01-27 1 views
0

Я использую условие ниже, чтобы инициализировать камеру на Safari, но она не работает. Я заметил, что объект штурман в сафари не имеют свойства mediaDevices или getUserMediaИнициализация веб-камеры не работает в Safari

if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { 
     // Not adding `{ audio: true }` since we only want video now 
     console.log("mediaDevices"); 
     navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) { 
      cam = stream.getTracks()[0]; 
      video.src = window.URL.createObjectURL(stream); 
      video.play(); 
     }); 
    } 
    else if(navigator.getUserMedia) { // Standard 
     console.log("2"); 
     navigator.getUserMedia({ video: true }, function(stream) { 
      video.src = stream; 
      video.play(); 
     }, errBack); 
    } else if(navigator.webkitGetUserMedia) { // WebKit-prefixed 
     console.log("3"); 
     navigator.webkitGetUserMedia({ video: true }, function(stream){ 
      video.src = window.webkitURL.createObjectURL(stream); 
      video.play(); 
     }, errBack); 
    } else if(navigator.mozGetUserMedia) { // Mozilla-prefixed 
     console.log("4"); 
     navigator.mozGetUserMedia({ video: true }, function(stream){ 
      video.src = window.URL.createObjectURL(stream); 
      video.play(); 
     }, errBack); 
    } 

Кто знает, как заставить его работать?

Мой HTML выглядит следующим образом:

<video id="video" width="640" height="480" autoplay></video> 
<canvas id="canvas" width="640" height="480"></canvas> 
+1

вы можете попробовать [webcamjs] (https://github.com/jhuckaby/webcamjs), потому что сафари еще не поддерживает 'getUserMedia' – pfg

ответ

0

Все методы, которые я видел, что доступ к веб-камеры в Safari делают это с помощью вспышки.

Смежные вопросы