4
respostas

[Dúvida] Desenvolvimento jogo do numero secreto

Eu notei que a voz do jogo só esta saindo no google chrome no meu PC. eu testei no Opera e não apareceu a voz do jogo e no google do meu celular também não. Tem como corrigir isso?

4 respostas

Olá, Danilo.

Tudo bem?

Eu não consegui fazer o "responsivevoice" funcionar em celulares. Consegui resolver utilizando outra ferramenta, chamada "SpeechSynthesisUtterance", você vai precisar simplesmente alterar a função "exibirTextoNaTela", que era onde estava chamando a outra do "responsivevoice".

A função exibirTextoNaTela tem que ficar assim:

function exibirTextoNaTela(tag, texto) {
  let campo = document.querySelector(tag);
  const synth = window.speechSynthesis;
  const utterThis = new SpeechSynthesisUtterance(texto);
  campo.innerHTML = texto;
  utterThis.rate = 1.5;  // Ajuste a velocidade da fala
  synth.speak(utterThis);
}

Veja que a importação e o modo de utilizar já é feito dentro da função, você pode até remover o import do script do "responsivevoice" no arquivo index.html, testei e funcionou no PC e no Celular.

É uma alternativa, faça o teste veja se funciona veja se faz sentido.

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.

Olá, muito obrigado.

Deu certo.

Eu só gostaria de saber se tem como alterar para uma voz feminina nesse código?

Olá, Danilo.

Para mudar a voz precisa chamar a lista de vozes com o comando "getVoices", em seguida selecionar a voz feminina que está no índice 1, algo como utterThis.voice = voices[1];, de resto só utilizar, qualquer coisa ajusta a velocidade da fala para não ficar muito rápida ou muito devagar, a função exibirTextoNaTela ficou assim:

function exibirTextoNaTela(tag, texto) {
  let campo = document.querySelector(tag);
  const synth = window.speechSynthesis;
  const utterThis = new SpeechSynthesisUtterance(texto);


   // Obter a lista de vozes disponíveis
   let voices = synth.getVoices();

   // Selecionar uma voz feminina (ajuste o índice conforme necessário)
   utterThis.voice = voices[1];  // Voz feminina no índice 1

  campo.innerHTML = texto;
  utterThis.rate = 1.5;  // Ajuste a velocidade da fala
  synth.speak(utterThis);
}

Muito obrigado