目录
原因
解决办法
1.修改谷歌浏览器的setting
2.在tomcat中配置https访问
参考
使用SAPUI5的sap.ndc.BarcodeScannerButton调用摄像头时,localhost访问正常,使用IP访问时,一直打不开摄像头,提示getUserMedia()问题。
原因
安全问题,为了用户的隐私安全,http协议无法使用多媒体设备。因为像摄像头属于可能涉及重大隐私问题的API,getUserMedia()的规范提出了浏览器必须满足一系列隐私和安全要求。这个方法功能很强大,只能在安全的网络环境使用,在不安全的环境中为undefined。
navigator.mediaDevices在目前以下情况中可以获取到
- 地址为localhost://访问
- 协议为https
- 为文件访问file:///
解决办法
1.修改谷歌浏览器的setting
在地址栏输入:
chrome://flags/#unsafely-treat-insecure-origin-as-secure
【chrome://flags/#unsafely-treat-insecure-origin-as-secure 是 Chrome 浏览器中的一个设置选项,它的作用是将不安全的来源(HTTP)视为安全的来源(HTTPS),从而避免浏览器的安全性警告,启用 chrome://flags/#unsafely-treat-insecure-origin-as-secure 这个设置后,Chrome 浏览器将不再显示与混合内容相关的警告,而是将所有不安全的来源都视为安全的来源。这样做可能会降低浏览器对网站安全性的监控程度,因为不再强调混合内容可能带来的潜在风险。】
2.在tomcat中配置https访问
以上两种方法都可行。
参考
前端项目在本地localhost可以调取到拍照或麦克风等设备,但是在局域网内IP+端口号访问项目时访问不到设备_如何请求指定的ip获取高拍仪拍照设备-CSDN博客