Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Erro de reconhecimento de voz

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>`;
}
2 respostas
solução!

Olá, Lucas! Tudo bem?

Como você bem destacou na sua dúvida, a API ainda apresenta alguns bugs em diferentes idiomas pois ainda esta em fase de testes e desenvolvimento. Mas um colega compartilhou no fórum uma solução que resolve esse problema e vou compartilhar aqui com você

Confere lá! Aproveita e troca uma ideia com ele sobre diferentes possibilidades ;)

Abraços

Muito obrigado pela dica Neilton!!

Abraço