2
respostas

Clicando rapidamente a resposta sonora não corresponde

Quando clico rapidamente, seja com mouse ou as teclas atribuídas (space e enter), a resposta sonora não corresponde à quantidade de inputs, e geralmente com bastante atraso. Existe uma forma de resolver isso para tornar este instrumento realmente utilizável?

PS: sou músico

2 respostas

Fala Luiz, tudo bem?

Eu estava com essa mesma dúvida/problema. Dei uma pesquisada e cheguei na conclusão que essa "demora" seria o tempo de que o código leva para tocar todo o som. Veja quando ele dá o play no som, ele precisa rodar por completo (se você olhar os arquivos de som, existe uma "margem" de silencio no final do som), então a função só iria reiniciar quando a primeira terminar.

Não sei se estou certo, mas quero saber assim como você o porque isso acontece :). Então, vamos esperar uma resposta melhor!

Fala galera!!

Estava quebrando a cabeça com esse detalhe também e encontrei uma resposta da Rafaela Silvério aqui no fórum mostrando a solução. Basicamente a gente trabalha com a função .currentTime para redefinir o tempo de resposta doonclick. Basta aplicar ela no elemento do áudio e fica tudo certo! =)

function tocaSom (idElementoAudio) {
    const elemento = document.querySelector(idElementoAudio);
    elemento.currentTime = 0;
    elemento.play();

}