猿问

IOS 找不到变量:ImageCapture

我正在 JavaScript 中使用 ImageCapture 从我的 web 应用程序上的设备摄像头视频中捕获照片。


该功能在桌面上运行良好,但在我的 iphone(safari) 上出现此错误:


找不到变量:ImageCapture


这是我的代码:


// get camera permission and start the stream

var stream, imageCapture; 

function getMediaStream() {

  if (!window.navigator.mediaDevices) {

    $("#unsupported").show();

    $("#valid-permissions").hide();

    $("#invalid-permissions").hide();

    $("#alternative-button").show();

    return; 

  } 

  window.navigator.mediaDevices.getUserMedia({video: {facingMode:'environment'}})

    .then(function(mediaStream)

  { 

    stream = mediaStream; 

    let mediaStreamTrack = mediaStream.getVideoTracks()[0];

    imageCapture = new ImageCapture(mediaStreamTrack);

    var video = document.querySelector('#webcam');

      video.srcObject = mediaStream;

      video.onloadedmetadata = function(e) {

        video.play();

    };

  })

  .catch(function (error) {

    // this alert gives me the error above

    alert(error.message);

     $("#valid-permissions").hide();

     $("#unsupported").hide();

     $("#invalid-permissions").show();

     $("#alternative-button").show();

 });

}


慕标琳琳
浏览 243回答 1
1回答

杨魅力

看起来 ImageCapture 不是 Safari 中支持的 Web API(在此处提供的表格中仅显示 ?s:https : //developer.mozilla.org/en-US/docs/Web/API/ImageCapture#Browser_compatibility)。但是,谷歌浏览器实验室提供了一个 polyfill:https : //github.com/GoogleChromeLabs/imagecapture-polyfill您可以使用 polyfill 在 Safari 中实现您的目标。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答