Jam*_*e S 6 javascript mobile speech-recognition meteor
我的目标是使用Meteor获取一些语音识别文本.我知道大多数设备键盘已经有一个麦克风按钮,可以启用语音到文本,但我想避免弹出用户键盘.
为此:我一直在尝试使用此处使用的webKitSpeechRecognition .我有它在桌面上工作就好了.但是当我在手机上导航到我的本地主机,或者实际在手机上构建应用程序(Android Galaxy s5)时,奇怪的事情开始发生.
导航到localhost时: 我不会像在桌面上那样显示最终文本,而是获得我的识别对象所想的每次迭代.例如:如果我说:' Hello Stack '.我得到:' hellohellohello stackhello stack '
启动移动应用程序时: 麦克风永远不会打开.我的console.log都没有通过,也没有任何事情发生.
这是我所有代码的要点.这是相关部分.其他一切都是非常标准的流星模板.
recognition = new webkitSpeechRecognition();
recognition.continuous = true;
recognition.interimResults = true;
Session.set('final_span','')
Session.set('interim_span','')
final_transcript='';
recognition.onstart = function() {
Session.set('listening',true)
recognizing = true;
console.log('started')
}
recognition.onresult = function(event) {
var interim_transcript = '';
for (var i = event.resultIndex; i < event.results.length; ++i) {
if (event.results[i].isFinal) {
final_transcript += event.results[i][0].transcript;
} else {
interim_transcript += event.results[i][0].transcript;
}
}
Session.set('final_span',final_transcript)
Session.set('interim_span',interim_transcript);
}
Run Code Online (Sandbox Code Playgroud)
我找了一些包给我解决这个问题,但没找到任何有用的方法.
TLDR:有关如何使用Meteor在移动设备上获取语音识别的任何见解.