Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não funciona a voz

Meu código não está funcionando a voz

let listaDeumerosSorteados = [];
let numeroLimite = 10;
let numeroSecreto = gerarNumeroAleatorio();
let tentativas = 1;

function exibirTextoNaTela(tag, texto) {
    let campo = document.querySelector(tag);
    campo.innerHTML = texto;
    responsiveVoice.speak(texto, "Brazilian Portuguese Female", {rate:1.2});
}

function exibirMensagemInicial() {
    exibirTextoNaTela('h1', 'Jogo do número secreto');
    exibirTextoNaTela('p', 'Escolha um número entre 1 e 10');
}

exibirMensagemInicial();


function verificarChute() {
    let chute = document.querySelector('input').value;
    
    if (chute == numeroSecreto) {
        exibirTextoNaTela('h1', 'Acertou!');
        let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
        let menasgemTentativas = `Você descobriu o número secreto com ${tentativas} ${palavraTentativa}`;
        exibirTextoNaTela('p', menasgemTentativas);
        document.getElementById('reiniciar').removeAttribute('disabled');
    } else {
        if (chute > numeroSecreto) {
            exibirTextoNaTela('p', 'Você não descobriu o número secreto! O número secreto é menor');
        } else {
            exibirTextoNaTela('p', 'Você não descobriu o número secreto! O número secreto é maior');
        }
        tentativas++;
        limparCampo();
    }
}

function gerarNumeroAleatorio() {
    let numeroEscolhido = parseInt(Math.random() * numeroLimite + 1);
    let quantidadeDeElementosNaLista = listaDeumerosSorteados.length;

    if (quantidadeDeElementosNaLista == numeroLimite) {
        listaDeumerosSorteados = [];
    }
    if (listaDeumerosSorteados.includes(numeroEscolhido)) {
        return gerarNumeroAleatorio();
    } else {
        listaDeumerosSorteados.push(numeroEscolhido);       /* adiciona um elemento na lista */
        console.log(listaDeumerosSorteados);
        return numeroEscolhido;
    }
}

function limparCampo() {
    chute =document.querySelector('input');
    chute.value = '';
}

function reiniciarJogo() {
    numeroSecreto = gerarNumeroAleatorio();
    limparCampo();
    tentativas = 1;
    exibirMensagemInicial();
    document.getElementById('reiniciar').setAttribute('disabled', true);
}

1 resposta
solução!

Olá, Ticiane! Tudo bem?

Pelo código que você compartilhou, parece que tudo está configurado corretamente para o uso do ResponsiveVoice. No entanto, um detalhe importante é garantir que o script do ResponsiveVoice esteja sendo carregado corretamente na sua página. Você pode verificar isso olhando no console do navegador se há algum erro relacionado ao carregamento do script.

Outro ponto a verificar é se o navegador está bloqueando a execução automática de sons. Alguns navegadores requerem que o usuário interaja com a página antes de permitir a reprodução de áudio. Você pode testar isso adicionando um botão que o usuário deve clicar antes de iniciar o jogo, para ver se isso resolve o problema.

Além disso, certifique-se de que o ResponsiveVoice está configurado para usar o idioma correto. No seu código, você usou "Brazilian Portuguese Female", o que está correto. No entanto, se houver um erro de digitação ou algum problema no carregamento, isso pode causar falhas.

Aqui está um exemplo de como você pode adicionar um botão para iniciar o jogo e assim garantir a interação do usuário:

document.getElementById('startButton').addEventListener('click', function() {
    exibirMensagemInicial();
});

E no seu HTML, você pode adicionar:

<button id="startButton">Iniciar Jogo</button>

Isso forçará o usuário a interagir com a página, o que pode ajudar se o problema for relacionado à política de autoplay do navegador.

Espero que essas sugestões ajudem a resolver o problema com a voz no seu jogo. Experimente e veja se alguma dessas soluções funciona para você.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.