我和我的朋友正在构建一个需要使用相机的应用程序,我们在与iOS合作时遇到了一些问题(我们正在使用iOS13):
Safari在获取相机内容后会冻结,Chrome和Edge根本无法获得相机访问权限。我们的代码如下:
根据控制台,总是打印 'a' 但从未打印 'b'。如有线索,请不吝赐教!
Safari在获取相机内容后会冻结,Chrome和Edge根本无法获得相机访问权限。我们的代码如下:
let windowWidth=window.innerWidth;
let windowHeight=window.innerHeight;
function isMobile() {
const isAndroid = /Android/i.test(navigator.userAgent);
const isiOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
return isAndroid || isiOS;
}
async function setupCamera() {
video = document.getElementById('video');
console.log("a")
video.setAttribute('autoplay', '');
video.setAttribute('muted', '');
video.setAttribute('playsinline', '');
const stream = await navigator.mediaDevices.getUserMedia({
'audio': false,
'video': {
facingMode: 'user',
width: mobile ? undefined : windowWidth,
height: mobile ? undefined : windowHeight
},
});
console.log("b")
video.srcObject = stream;
return new Promise((resolve) => {
video.onloadedmetadata = () => {
resolve(video);
};
});
}
根据控制台,总是打印 'a' 但从未打印 'b'。如有线索,请不吝赐教!