如何打开相机并在 div 中拍摄照片

问题描述

我想在 div 元素中打开相机。我使用以下结构:

return (
    <div id="container">
         <video id="video" width="640" height="480"></video>
            {testFunction()}
    </div>
);

function testFunction() {
var video = document.getElementById('video');
if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
    navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
    video.srcObject = stream;
    video.play();
  });
}}

但是,它给出了错误!! video.srcObject = stream;video.play(); 给出错误.. 我该怎么办?谢谢!

解决方法

试试这个

function testFunction() {
  var video = document.getElementById('video');

  if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
    navigator.mediaDevices.getUserMedia({ video: true }).then(
      function(stream) {
        video.srcObject = stream;
        video.onloadedmetadata = function(e) {
          video.play();
        };
    });
  }