4
respostas

[Dúvida] não ta saindo som, porém não esta dando nenhum erro

<section class="teclado">
        <button class="tecla tecla_pom">Pom</button>
        <button class="tecla tecla_clap">Clap</button>
        <button class="tecla tecla_tim">Tim</button>

        <button class="tecla tecla_puff">Puff</button>
        <button class="tecla tecla_splash">Splash</button>
        <button class="tecla tecla_toim">Toim</button>

        <button class="tecla tecla_psh">Psh</button>
        <button class="tecla tecla_tic">Tic</button>
        <button class="tecla tecla_tom">Tom</button>
    </section>

    <audio src="sounds/keyq.wav" id="som_tecla_pom"></audio>
    <audio src="sounds/keyw.wav" id="som_tecla_clap"></audio>
    <audio src="sounds/keye.wav" id="som_tecla_tim"></audio>
    <audio src="sounds/keya.wav" id="som_tecla_puff"></audio>
    <audio src="sounds/keys.wav" id="som_tecla_splash"></audio>
    <audio src="sounds/keyd.wav" id="som_tecla_toim"></audio>
    <audio src="sounds/keyz.wav" id="som_tecla_psh"></audio>
    <audio src="sounds/keyx.wav" id="som_tecla_tic"></audio>
    <audio src="sounds/keyc.wav" id="som_tecla_tom"></audio>
function tocaSom(idAudio) {
    document.querySelector(idAudio).play();
}

//REFERÊNCIAS constantes:
const listaDeTeclas = document.querySelectorAll('.tecla');

//REFERÊNCIAS variáveis:
let contador = 0;

//ENQUANTO
while (contador < listaDeTeclas.length) {

    const tecla = listaDeTeclas[contador];
    const instrumento = tecla.classList[1];
    //TEMPLATE STRING
    const idAudio = '#som_$(instrumento)';

    console.log(idAudio)


    listaDeTeclas[contador].onclick = function () { }
    tocaSom('idAudio');

    contador = contador + 1;

    console.log(contador);
}
4 respostas

Oi, Thiago

Uma pequena correção na posição das chaves " { } "

listaDeTeclas[contador].onclick = function () {
      tocaSom('idAudio');
  }
  Caso este post tenha lhe ajudado, marque-o como solução . Bons Estudos!  🤓

não funcionou

Boa tarde Thiago, tente alterar as aspas simples por crase

const idAudio = '#som_$(instrumento)';

Ficando assim:

const idAudio = `#som_$(instrumento)`;

na linha 1 e 2 mude para

function tocaSom(idElementoAudio) {
    document.querySelector(idElementoAudio).play();
}