2

我正在使用簡單的語音與文本檢測webkitSpeechRecognition。 此代碼在Windows桌面上效果很好。 但是 - 在Android Chrome瀏覽器 - 開始檢測時,Android狀態欄上的麥克風僅顯示1秒或2秒。如果沒有語音活動 - 它會關閉並停止語音識別。點擊「開始」後,如果我確實說得很快,它會保持開啓狀態。 任何想法如何使Android麥克風始終可用?Android上的webkitSpeechRecognition Chrome

 if ('webkitSpeechRecognition' in window) { 

      var recognition = new webkitSpeechRecognition(); 

      recognition.continuous = true; 
      recognition.interimResults = true; 

      recognition.onstart = function() { 
       $("#status").html("Status: Recording..."); 
       recognizing = true; 
      }; 

      recognition.onerror = function (event) { 
       alert(event.error); 
      }; 

      recognition.onend = function() { 
       recognizing = false; 
      }; 

      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; 
       } 
      } 
      final_transcript = capitalize(final_transcript); 
      $("#final_span").html(linebreak(final_transcript)); 
      $("#interim_span").html(linebreak(interim_transcript)); 

      }; 

     } 

enter image description here

回答

2

我找了一個解決方案,這一點我自己,因爲我試圖建立與WebVR免提互動。

https://codepen.io/bryik/pen/mErOOR?editors=0010至少只發出一聲嘟嘟聲,但經過一些測試後,我注意到,識別的「嗶嗶聲」會在每次點擊/點擊時再次觸發。

一箇舊的資源給了我很好的希望,annyang(https://github.com/TalAter/annyang)可能的工作:

https://github.com/cvan/webvr-holodeck/issues/22 但在這裏我想這也只是呼籲

recognition.onend = function() { 
    console.info("voice recognition ended, restarting..."); 
    recognition.start(); 
} 
在recognition.onend回調

。所以在android chrome上,你可能會遇到識別聲每隔一秒發出一聲嗶嗶聲...

最後,MDN並沒有真正說明是否可以在android chrome上持續識別(https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition),但是我看到的每個示例都沒有提供Android上的連續模式(至少在CyanogenMod棒棒糖)

//編輯如果你看看https://www.microsoft.com/cognitive-services/en-us/speech-api,他們以某種方式設法持續識別,但我無法找到他們的源代碼中的任何東西..

+0

我知道這是舊的,但這裏是Microsoft API的來源:https://github.com/Microsoft/Cognitive-Speech-STT-JavaScript –