AIo*_*Ion 7 speech-recognition google-api api-key electron
我正在努力让这个电子语音识别工作.以下代码适用于普通浏览器:
if (window.SpeechRecognition === null ){
console.log("Speech Recognition is not supported.");
}else {
let recognizer = new window.SpeechRecognition();
recognizer.continuous = true;
recognizer.lang = "en-US";
recognizer.language = "English";
recognizer.onresult = function (ev){
console.log("Recognition result: ", event);
displayVoice.value == "";
}
recognizer.onerror = function (ev){
console.log("Recognition error: ", ev);
}
// recognizer.interimResults = true;
recognizer.start();
}
Run Code Online (Sandbox Code Playgroud)
但是当切换到电子时我得到了这个:
这意味着:
完成识别所需的网络通信失败.(摘自MDN)
我有GOOGLE_API_KEY设置main.js.
process.env.GOOGLE_API_KEY = 'NIzaadwINWVhlqbjjklajwdBp2zjcFxnD3O3cBwc'; - (it's false stuff don't worry).
// process.env.GOOGLE_DEFAULT_CLIENT_ID = "95131180798735604-4k0pfsc6g.apps.googleusercontent.com"
// process.env.GOOGLE_DEFAULT_CLIENT_SECRET = "2kkkWCawzzlawuruhvdddwd_F1nqwFMUklUjYUTsft"
const path = require('path');
const url = require('url');
const {app, BrowserWindow} = require('electron');
...
Run Code Online (Sandbox Code Playgroud)
关于这个话题有很多问题,我尝试了所有问题. 这里 这里 和这里,还有更多.
我也发现了一些可能相关的有趣内容.
当我按照此处的建议更改环境变量时:

但随后语音识别在普通的Chrome浏览器中停止运行.我认为它会覆盖默认的Chrome密钥.(Chrome使用谷歌服务器进行识别)
我删除了env变量 - Chrome再次工作..电子没有.我已为此密钥启用了结算功能.
我无法相信每个人都没能将这个功能整合到电子中.语音识别很重要.我不知道我还应该做些什么.
是不是不可能在电子中进行语音识别?然后我在这里失踪了..
更新:
我看到SpeechRecognition.serviceURI已从chrome中删除 - 看起来此参数旨在实现自定义语音识别解决方案.我找到了这个帖子 - 为什么serviceURI从chrome中删除了.
小智 3
正如我在评论中提到的,如果您使用的 Chrome 版本高于 47,则必须通过 https 协议与浏览器 API 进行所有通信。Chrome 中语音识别的 API 调用WebRTC。
没有更多的 http-for-webrtc-on-chrome-only-https
| 归档时间: |
|
| 查看次数: |
1609 次 |
| 最近记录: |