我正在 JavaScript 中使用 ImageCapture 从我的 web 应用程序上的设备摄像头视频中捕获照片。该功能在桌面上运行良好,但在我的 iphone(safari) 上出现此错误:找不到变量:ImageCapture这是我的代码:// get camera permission and start the streamvar 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(); });}
1 回答
![?](http://img1.sycdn.imooc.com/533e4d510001c2ad02000200-100-100.jpg)
杨魅力
TA贡献1811条经验 获得超6个赞
看起来 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 中实现您的目标。
添加回答
举报
0/150
提交
取消