1

html5 网络摄像头有问题这是我遇到的错误 Uncaught TypeError: Failed to execute 'createObjectURL' on 'URL': No function was found that match the signature of the provided. 在 photo.js:17

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

请检查我的代码

太感谢了!

拍摄照片.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>

照片.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'))
  });
})();

照片.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;
}

我只想正确制作网络摄像头,我想知道当我按下“带上你”按钮时有一种方法可以将照片保存到文件夹中

请给我建议。太感谢了。

4

1 回答 1

2

此错误是由于函数 createObjectURL 已弃用而导致的。您需要更新代码以直接设置srcObjectvideo对象。

video.srcObject=stream;
于 2019-02-17T15:52:04.767 回答