2017-09-03 38 views

回答

1

您可以在compatibility.js相關代碼

getUserMedia = function(options, success, error) { 
     var getUserMedia = 
      window.navigator.getUserMedia || 
      window.navigator.mozGetUserMedia || 
      window.navigator.webkitGetUserMedia || 
      function(options, success, error) { 
       error(); 
      }; 

     return getUserMedia.call(window.navigator, options, success, error); 
    }; 

然後在HTML中,你可以找到下面的代碼:

 compatibility.getUserMedia({video: true}, function(stream) { 
      try { 
       video.src = compatibility.URL.createObjectURL(stream); 
      } catch (error) { 
       video.src = stream; 
      } 
      compatibility.requestAnimationFrame(play); 
     }, function (error) { 
      alert('WebRTC not available'); 
     }); 

如果您在Chrome的當前版本運行頁面,您將收到以下警告:

[棄用] getUserMedia()不再適用於不安全的來源。要使用此功能,您應該考慮將應用程序切換到安全的來源,例如HTTPS。有關更多詳情,請參閱https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins

換句話說,你需要爲了使用https://mtschirs.github.io/js-objectdetect/examples/example_sunglasses.htm(注意HTTP 小號)爲它工作。

+0

還應該注意關於'navigator.getUserMedia'被棄用的事實,贊成'navigator.mediaDevices.getUserMedia' API:這整個lib似乎已經過時了。 – Kaiido

+0

@Kaiido確實如此。但是,瀏覽器對它們的支持不足。使用具有回退到Flash的庫(例如https://github.com/amw/jpeg_camera)可能會更好。 – str

+0

不支持gum的瀏覽器(今天的最新版本,只有safari)不支持RTC通信。 – Kaiido