Esse é meu código (parte dele):
// % Web Speech Speech Recognition
const elemChute = document.querySelector("#chute")
var SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
const recognition = new SpeechRecognition();
recognition.lang = 'pt-Br'
recognition.start()
recognition.addEventListener('result', onSpeak)
function onSpeak(e) {
let chute = e.results[0][0].transcript
chute = parseInt(chute)
elemChute.style.display = 'block'
if (!isNaN(chute)) {
elemChute.innerHTML = `
<div>Você disse:</div>
<span id="box-chute" class="box">${chute}</span>
`
comparaChute(chute)
} else {
elemChute.innerHTML = 'Seu chute não é um número. Tente outra vez'
}
validaChute(chute)
}
recognition.addEventListener('end', () => recognition.start())
// % Validação
function validaChute(chute) {
//console.log(chute)
if (chute > max || chute < min) {
elemChute.innerHTML += `<div class="valor-invalido">Valor inválido.</div><div class="mensagem-erro">O número secreto está entre ${min} e ${max}.</div>`
}
}
function comparaChute(chute) {
if (chute === numeroSecreto) {
elemChute.innerHTML += '<div class="mensagem-acerto">Aeee!</div><div class="mensagem-acerto">Você acertou!!</div>'
recognition.stop()
} else {
if (numeroSecreto > chute) {
elemChute.innerHTML += '<div>O número secreto é maior <i class="fa-solid fa-circle-up"></i></div>'
} else if ((numeroSecreto < chute)){
elemChute.innerHTML += '<div>O número secreto é menor <i class="fa-solid fa-circle-down"></i></div>'
}
}
}
No if (chute === numeroSecreto)
coloquei recognition.stop()
como diz na documentação, mas a página continua reconhecendo a voz. O que pode estar errado?