1
resposta

[Dúvida] Não reconhece a fala

baixei o zip do codigo pra comparar e esta igual, ambos não reconhece quando fala no microfone.

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) }

function exibeChuteNaTela(chute) { elementoChute.innerHTML = <div>Você disse</div> <span class="box">${chute}</span> }

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Pelo código que você compartilhou, parece que você está tentando utilizar a funcionalidade de reconhecimento de fala do navegador para capturar a fala do usuário e exibi-la na tela.

No entanto, pode haver alguns problemas com o código que impedem o reconhecimento da fala. Aqui estão algumas sugestões que podem ajudar a resolver o problema:

  1. Certifique-se de que a permissão do microfone foi concedida ao site. Ao acessar o site, o navegador deve solicitar a permissão do usuário para acessar o microfone. Se o usuário negar a permissão, a funcionalidade de reconhecimento de fala não funcionará. Verifique se a permissão foi concedida nas configurações do navegador.

  2. Verifique se o código está sendo executado corretamente. Certifique-se de que todas as linhas de código estão sendo executadas sem erros. Verifique o console do navegador em busca de erros.

  3. Adicione um ouvinte para o evento 'end' do reconhecimento de fala. Quando o reconhecimento de fala é interrompido, o evento 'end' é acionado. Adicione um ouvinte para esse evento e reinicie o reconhecimento de fala quando ele for acionado.

  4. Verifique se o idioma configurado no reconhecimento de fala está correto. Certifique-se de que o idioma configurado no reconhecimento de fala corresponde ao idioma falado pelo usuário.

Aqui está uma versão modificada do seu código com essas sugestões implementadas:

const elementoChute = document.getElementById('chute');

window.SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;

const recognition = new SpeechRecognition();
recognition.lang = 'pt-BR';
recognition.start();

recognition.addEventListener('result', onSpeak);
recognition.addEventListener('end', () => {
  recognition.start();
});

function onSpeak(e) {
  const chute = e.results[0][0].transcript;
  exibeChuteNaTela(chute);
}

function exibeChuteNaTela(chute) {
  elementoChute.innerHTML = `
    <div>Você disse:</div>
    <span class="box">${chute}</span>
  `;
}

Espero que isso ajude a solucionar o problema com o reconhecimento de fala no seu código!