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

[Dúvida] Parando o microfone quando acerta

Eu fiz o desafio e o meu esta funcionando certinho! Eu queria implementar no meu jogo que o microfone parasse quando a pessoa acertar o número secreto, ai lendo na documentação eu vi que existe o método .stop(), então fiz isso:

if(numero === numeroSecreto) {
        document.body.innerHTML = `
        <h2>Você acertou!</h2>
        <h3>O número secreto era ${numeroSecreto}</h3>
        <button id="jogar-novamente" class="btn-jogar">Jogar Novamente</button>
        `
        recognition.stop() 
    } ...

Mas parece não funcionar desta forma, o microfone continua ligado depois. Existe alguma forma eu fazer o microfone parar quando acerta o número?

1 resposta
solução!

Olá Thaynara, tudo bem?

Parabéns por ter concluído o desafio e obrigado por compartilhar sua dúvida conosco!

Sobre a sua pergunta, o método recognition.stop() realmente é utilizado para parar a gravação de áudio do microfone. No entanto, é importante lembrar que ele não é imediato e pode levar alguns milissegundos para que o microfone seja desligado completamente.

Uma sugestão é utilizar um setTimeout para aguardar um tempo após a chamada do método recognition.stop() antes de realizar a próxima ação, como por exemplo, a exibição do botão "Jogar Novamente".

Segue um exemplo de como você pode implementar essa solução:

if(numero === numeroSecreto) {
        document.body.innerHTML = `
        <h2>Você acertou!</h2>
        <h3>O número secreto era ${numeroSecreto}</h3>
        `
        recognition.stop();
        setTimeout(() => {
            document.body.innerHTML += `
            <button id="jogar-novamente" class="btn-jogar">Jogar Novamente</button>
            `;
        }, 1000); // aguarda 1 segundo antes de exibir o botão "Jogar Novamente"
    } ...

Espero ter ajudado e bons estudos!