原因分析:
由于electron mainWindow.loadURL(‘http:127.0.0.1’) 访问是已http协议,而chrome浏览器在访问http请求时考虑隐私安全是无法打开许多Web API的(如:navigator.mediaDevices),你会发现 navigator.mediaDevices = undefined
新版Chrome中,http协议的网站因为安全原因,不能访问本地的摄像头和录音设备,如果该网站不支持https协议,可以使用以下解决方案
如果支持https协议,下面的可以忽略:
问题描述:
问题处理方案:
1、浏览器设置:(最简单的方案)--unsafely-treat-insecure-origin-as-secure="http://改成你的IP:13050/xx/index.html"
具体位置,在桌面浏览器快捷键 ---> 属性---> 目标位置 后面追加这段内容
例如:C:\Users\admin\AppData\Local\Google\Chrome\Application\chrome.exe --unsafely-treat-insecure-origin-as-secure="http://改成你的IP:13050/xx/index.html"
http://改成你的IP:13050/xx/index.html 这点就是你访问服务的地址,相当于放开安全设置
2、服务端采用HTTPS协议,这个比较麻烦,需要开启https协议,并且创建证书等。
附上github代码,科大讯飞的一个demo,如果在自己项目中集成的话,按照说明即可。
https://github.com/ferrinweb/voice-input-button2
联系方式:QQ :370217838