1
resposta

Está dando erro ao executar o código

function tocaSom (idElementoAudio) {

    document.querySelector(idElementoAudio).play();


}


const listaDeTeclas = document.querySelectorAll('.tecla');



let contador=0;


Uncaught TypeError: Cannot read properties of null (reading 'play')
    at tocaSom (man.js:4:41)

tocaSom @ man.js:4
(anônimo) @ VM1609:1


while  (contador < 9){

 listaDeTeclas[contador].onclick = tocaSom;

 contador = contador + 1;

 console.log(contador);
}
1 resposta

Opa Helio, como vai?

Analisei o seu código e está funcionando normalmente, pelo projeto possuir vários arquivos, peço que por gentileza compartilhe o link do seu projeto completo conosco, seja pelo GitHub ou os arquivos upados no drive. Dessa forma posso analisar seu código na totalidade e auxiliar de forma mais assertiva.

O código em questão é apenas experimental, para usar o código temos que abrir o console do nosso navegador e usar o comando para tocar o som. Para abrir o console basta apertar a tecla F12 ou crtl + shift + c e digite o seguinte comando:

tocaSom('#som_tecla_tic')

Podemos alterar o #som_tecla_tic com a classe de qualquer áudio que possuímos como som_tecla_tom, etc.

Uma possível causa do erro que você mencionou pode ser a falta da implementação do caractere "#" antes da classe no console. Para solucionar esse problema, sugiro que você faça alguns testes utilizando a "#" antes da classe e verifique se o erro persiste. Espero ter ajudado!

Caso isso não resolva fico à disposição para procurar novas alternativas!

Tenha um bom dia e bons estudos.