流星语音识别&移动电话上的语音

时间:2015-07-09 20:41:43

标签: javascript mobile meteor speech-recognition

我的目标是使用Meteor获取一些语音识别文本。我知道大多数设备键盘已经有一个麦克风按钮,可以启用语音到文本,但我想避免弹出用户键盘。

要做到这一点:我一直在尝试使用使用here的webKitSpeechRecognition。我有它在桌面上工作就好了。但是当我在手机上导航到我的本地主机,或者实际在手机上构建应用程序(Android Galaxy s5)时,奇怪的事情开始发生。

导航到localhost: 我没有像在桌面上那样显示最终文本,而是获得了我的识别对象所想到的每一次迭代。例如:如果我说:' Hello Stack '。 我得到:' hellohellohello stackhello stack '

启动移动应用时 麦克风永远不会打开。我的console.log都没有通过,也没有任何事情发生。

Here is a Gist of all my code。这是相关部分。其他一切都是非常标准的Meteor模板。

    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);
    }

我已经找了一些包给我解决这个问题,并没有发现任何有用的方法。

TLDR:关于如何使用Meteor在移动设备上获取语音识别的任何见解。

0 个答案:

没有答案