1
resposta

Execução do áudio com bug

Só executa o mesmo audio da tecla PUFF, copiei e colei o codigo da aula e mesmo assim da o mesmo resultado, poderiam me ajudar?

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

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

for (let contador = 0; contador < listaDeTeclas.length; contador++) {
    console.log(contador)
    const tecla = listaDeTeclas[contador];
    console.log(tecla)
    const instrumento = tecla.classList[1];
    console.log(instrumento)
    const idAudio = `#som_${instrumento}`; //template string
    console.log(idAudio)
    
    tecla.onclick = function () {
        tocaSom(idAudio);
    }

}

HTML

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="css/style.css">
    <link rel="stylesheet" href="css/reset.css">
    <script src="js/script.js" defer></script>

    <title>Midi</title>
</head>
<body>
    <main>
        <div class="conteudo-principal">
            <h1>Alura Midi</h1>
            <div class="container-principal-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>
            </div>

            <audio src="sounds/keya.wav" id="som_tecla_pom"></audio>
            <audio src="sounds/keya.wav" id="som_tecla_clap"></audio>
            <audio src="sounds/keya.wav" id="som_tecla_tim"></audio>
            <audio src="sounds/keya.wav" id="som_tecla_puff"></audio>
            <audio src="sounds/keya.wav" id="som_tecla_splash"></audio>
            <audio src="sounds/keya.wav" id="som_tecla_toim"></audio>
            <audio src="sounds/keya.wav" id="som_tecla_psh"></audio>
            <audio src="sounds/keya.wav" id="som_tecla_tic"></audio>
            <audio src="sounds/keya.wav" id="som_tecla_tom"></audio>
        </div>
    </main>
</body>
</html>
1 resposta

Olá, Marinaldo, como vai?

Notei que usou o mesmo arquivo de áudio (keya.wav) para todos os botões do projeto. Você só precisa ajustar o caminho para os arquivos correspondentes e assim vai funcionar sem problemas.

<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>

Fico feliz em poder ajudar! Siga em frente nos seus estudos e conte sempre com o fórum. Abraços!

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