vue 项目 360浏览器 内核 webkit 打开浏览器失败,所有获取摄像头打开方式均为undefined,其中 navigator.mediaDevices.getUserMedia报错getUserMedia为undefined
打开摄像头函数如下
//打开相机动作
opencamera: function () {
this.videoboxfather = !this.videoboxfather
if (this.videoboxfather) {
this.video = document.getElementById('localuser');
let mediaDevices, getUserMedia, webkitGetUserMedia, mozGetUserMedia;
try {
mediaDevices = navigator.mediaDevices.getUserMedia
} catch (e) {
console.log(e)
mediaDevices = undefined
}
try {
getUserMedia = navigator.getUserMedia
} catch (e) {
console.log(e)
getUserMedia = undefined
}
try {
webkitGetUserMedia = navigator.webkitGetUserMedia
} catch (e) {
console.log(e)
webkitGetUserMedia = undefined
}
try {
mozGetUserMedia = navigator.mozGetUserMedia
} catch (e) {
console.log(e)
mozGetUserMedia = undefined
}
console.log(mediaDevices, getUserMedia ,webkitGetUserMedia, mozGetUserMedia)
if (mediaDevices || getUserMedia || webkitGetUserMedia || mozGetUserMedia
) {
this.getUserMedia({
audio: true,
video: {width: 480, height: 320}
}, this.opencamerasuccess, this.opencameraerror);
} else {
alert('不支持访问用户媒体');
}
}
},
发布后webkit核心浏览器需要使用https协议才能使用 navigator.mediaDevices.getUserMedia这对象,http没有权限,浏览器安全限制,需要配置过浏览器,让用户配置浏览器不现实,最好是升级https协议。可以去腾讯申请免费ssl证书: SSL证书_免费SSL证书-付费SSL证书_服务器证书 - 腾讯云 腾讯云为您提供SSL证书(服务器证书)的一站式服务,包括免费SSL证书、付费SSL证书的申请、管理及部署功能以及与顶级的数字证书授权(CA)机构和代理商合作,为您的网站、移动应用提供 HTTPS 解决方案…… https://cloud.tencent.com/product/ssl
有帮助或启发麻烦点个采纳【本回答右上角】,谢谢~~有其他问题可以继续交流~