IOS找不到变量:ImageCapture

问题描述 投票:0回答:1

嗨,我在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();
 });
}
javascript ios image-capture mediastream
1个回答
0
投票

似乎Safari中不支持ImageCapture的Web API(在此处提供的表中仅显示?s:https://developer.mozilla.org/en-US/docs/Web/API/ImageCapture#Browser_compatibility

但是,这里的Chrome浏览器实验室提供了polyfill:https://github.com/GoogleChromeLabs/imagecapture-polyfill

您也许可以使用polyfill在Safari中实现目标。

© www.soinside.com 2019 - 2024. All rights reserved.