Вы забыли вызвать функцию tsCheck()
в вашем recognition.onresult
обратном вызове.
recognition.onresult = function(event) {
var current = event.resultIndex;
window.transcript = event.results[current][0].transcript;
tsCheck(); //ADD THIS
console.log(window.transcript);
}
РЕДАКТИРОВАТЬ: в методе tsCheck
необходимо сравнить результат со строчной строкой (уведомление)Привет "вместо" Привет ".
function tsCheck(){
if (window.transcript == "hi"){
ai();
}
}
РЕДАКТИРОВАТЬ 2: Чтобы продолжать реагировать на входы, я добавил параметр в функцию ai()
. Однако это не имеет никакого практического применения, потому чтоон не отслеживает контекст разговора.
function ai(string){
speak(string);
}
function tsCheck(){
if (/hi/i.test(window.transcript)){
ai("How are you");
}
if (/good/i.test(window.transcript)){
ai("Cool");
}
}
Также используется регулярное выражение для проверки строк, так как иногда в нем есть пробелы до и после слова.