IOS 找不到变量:ImageCapture
IOS can't find variable: ImageCapture
您好,我在 javascript 中使用 ImageCapture 从我的网络应用程序上的设备摄像头视频中捕捉照片。
该功能在桌面上运行良好,但在我的 iphone(safari) 上出现此错误:
Can't find variable: 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();
});
}
Safari 中似乎不支持 ImageCapture Web API(此处提供的 table 中仅显示 ?s:https://developer.mozilla.org/en-US/docs/Web/API/ImageCapture#Browser_compatibility)。
但是,Google Chrome 实验室提供了一个 polyfill:https://github.com/GoogleChromeLabs/imagecapture-polyfill
您可以使用 polyfill 在 Safari 中实现您的目标。
您好,我在 javascript 中使用 ImageCapture 从我的网络应用程序上的设备摄像头视频中捕捉照片。
该功能在桌面上运行良好,但在我的 iphone(safari) 上出现此错误:
Can't find variable: 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();
});
}
Safari 中似乎不支持 ImageCapture Web API(此处提供的 table 中仅显示 ?s:https://developer.mozilla.org/en-US/docs/Web/API/ImageCapture#Browser_compatibility)。
但是,Google Chrome 实验室提供了一个 polyfill:https://github.com/GoogleChromeLabs/imagecapture-polyfill
您可以使用 polyfill 在 Safari 中实现您的目标。