os números de 1 a 9 aparecem como strings , o resto está normal, ainda não consigo entender o porquê, porém se eu falo "zero um" por exemplo ai é reconhecido como numero. talvez seja pela API ainda estar em desenvolvimento, mas queria saber se tem algo que possa ser feito para melhorar a precisão do reconhecimento de voz, vi algumas coisas na documentação da API como a parte da gramatica mas ainda não consegui entender direito seu uso.
segue o código:
sortear o numero
const maiorValor = 1000;
const menorValor = 1;
const numeroSecreto = gerarNumeroAleatorio();
const elementoMenorValor = document.getElementById("menor-valor");
const elementoMaiorValor = document.getElementById("maior-valor");
function gerarNumeroAleatorio() {
return parseInt(Math.random() * maiorValor + 1);
}
elementoMenorValor.innerHTML = menorValor;
elementoMaiorValor.innerHTML = maiorValor;
console.log(numeroSecreto);
reconhecimento de voz
const elementochute = document.getElementById("chute");
window.SpeechRecognition = window.SpeechRecognition || webkitSpeechRecognition;
const recognition = new SpeechRecognition();
recognition.lang = "pt-br";
recognition.start();
recognition.addEventListener("result", onSpeak);
function onSpeak(e) {
chute = e.results[0][0].transcript;
exibeChutenaTela(chute);
console.log(e);
validaChute(chute);
}
function exibeChutenaTela(chute) {
elementochute.innerHTML = `
<div>Você disse:</div>
<span class= "box">${parseInt(chute)}</span>`;
}