【发布时间】:2014-03-26 18:49:59
【问题描述】:
我正在尝试使用 HTML5 语音识别 API 来记录我在屏幕上所说的话。我有一个必须先说出的关键字才能识别其他单词,所以它的工作原理有点像 Apple 的 Siri。当你说“好的,谷歌”时,它会再听两个词,当它听到它们时,它会在屏幕上打印出来。代码的工作方式是这样的:
- 收听“好的,Google”
- 记录你听过的,打开新功能找生词
- 如果您听到“15”或“30”,请将它们打印到屏幕上
- 当您听到“Finished”一词时,退出函数和两个 if 语句。
在我只能退出第一个函数的那一刻,我不能同时退出两个 if 语句。当您说“完成”这个词时,您仍然可以说“15”或“30”并将它们打印到屏幕上,但我不希望您在说“完成”后能够将这两个数字打印到屏幕上.我希望你必须再次说“Okay,Google”,然后你才能说出这两个数字。
这是代码,希望有人能提供帮助。 提前致谢。
recognition.onresult = function(event){
var resultsLength = event.results.length -1 ;
var ArrayLength = event.results[resultsLength].length -1;
var Word = event.results[resultsLength][ArrayLength].transcript;
console.log(Word);
if (Word.indexOf('okay', 'google') != -1) {
test.style.borderColor = "white";
recognition.onresult = function(event){
var resultsLength = event.results.length -1 ;
var ArrayLength = event.results[resultsLength].length -1;
var Word = event.results[resultsLength][ArrayLength].transcript;
console.log(Word);
document.getElementById('test').value = Word;
if (Word.indexOf('15') != -1) {
test.innerHTML = '15';
}
if (Word.indexOf('30') != -1) {
test.innerHTML = '30';
}
if (Word.indexOf('finished') != -1) {
test.style.borderColor = "black";
return;
}
}
}
}
【问题讨论】:
标签: javascript html if-statement speech-recognition