Javascript 从语音识别api结果中删除以前识别的单词
在使用Javascript语音识别API时,我发现我以前的所有语句都与最新的语句一起显示,有没有一种方法可以在识别新短语后清除以前的所有语句 这是我处理语音识别的基本方法Javascript 从语音识别api结果中删除以前识别的单词,javascript,speech-recognition,Javascript,Speech Recognition,在使用Javascript语音识别API时,我发现我以前的所有语句都与最新的语句一起显示,有没有一种方法可以在识别新短语后清除以前的所有语句 这是我处理语音识别的基本方法 var recognition = new webkitSpeechRecognition(); recognition.continuous = true; recognition.interimResults = true; recognition.start(); recognition.onresult = func
var recognition = new webkitSpeechRecognition();
recognition.continuous = true;
recognition.interimResults = true;
recognition.start();
recognition.onresult = function(event){
console.log(event);
}
我认为你是在附加结果。您不应该附加结果。你应该把结果写得太多。比方说用java
@Override
public void onResults(Bundle results) {
Log.i(LOG_TAG+">"+ "onResults");
ArrayList<String> matches = results
.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
String text = "";
for (String result : matches)
text += result + "\n";
if(text.contains(my key word list here)){
//you can skip this if part
}
我希望这能让你知道你做错了什么。假设您有结果的数组列表,我通常使用库
检查这里的演示我使用的是javascript而不是javaI,我在jordan为您提供了一个示例。我想您可以将其转换为您的语言,根据您的需要,我建议您将结果保存在此函数recognition中的字符串变量中。onresult=functionevent{console.logevent;//如此处所示,然后尝试注销该变量}
speechRs.rec_start('en-IN',function(final_transcript,interim_transcript){
console.log(final_transcript,interim_transcript);
// final_transcript gives complete transcript from the beginning
// interim_transcript return the transcript the user has spoken
// from last break he took
});