如何解决网站上的html5_webcam问题?

时间:2019-02-17 15:33:36

标签: python html django image webcam.js

关于html5网络摄像头存在问题 这是我有的错误 未捕获的TypeError:无法在“ URL”上执行“ createObjectURL”:找不到与提供的签名匹配的函数。     在photo.js:17

photo.js:17       video.src = vendorUrl.createObjectURL(stream);

请检查我的代码

非常感谢您!

takeing_photo.html

{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Document</title>
    <link href="{% static 'css/photo.css' %}" rel="stylesheet">
  </head>
  <body>

    <div class="booth">
      <video id="video" width="400" height="300"></video>
      <a href="#" id="capture" class="booth-capture-button">Take photo</a>
      <canvas id="canvas" width="400" height="300"></canvas>
      <img id="photo" src="http://placekitten.com/g/400/300" alt="photo of you">
    </div>
    <script src="{% static 'js/photo.js' %}"></script>
  </body>
</html>

photo.js

(function(){
  var video = document.getElementById('video'),
      photo = document.getElementById('photo'),
      context = canvas.getContext('2d'),
      phto = document.getElementById('photo');
      vendorUrl = window.URL || window.webkitURL;

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

  navigator.getMedia({
      video:true, 
      audio:false
  }, function(stream){
      video.src=vendorUrl.createObjectURL(stream);
      video.play();
  }, function(error){

  });
  document.getElementById('capture').addEventListener('click', function(){
      context.drawImage(video, 0, 0, 400, 300);
      photo.setAttribute('src', canvas.toDataURL('image/png'))
  });
})();

photo.css

.booth{
  width:400px;
  background-color: #ccc;
  border:10px solid #ddd;
  margin:0 auto;
}

.booth-capture-button {
  display:block;
  margin:10px 0;
  padding:10px 20px;
  background-color: cornflowerblue;
  color: #fff;
  text-align: center;
  text-decoration: none;
}

#canvas {
  display :none;
}

我只想正确制作网络摄像头 我想知道当我按下“带走你”按钮

时,是否可以将图片保存到文件夹中

请给我建议。非常感谢。

1 个答案:

答案 0 :(得分:0)

此错误是由于不推荐使用函数createObjectURL引起的。您需要更新代码以将srcObject直接设置为video对象。

video.srcObject=stream;