1
resposta

[Dúvida] meu código não reproduz som, e no console não mostra nenhum erro.

<h1>Alura Midi</h1>

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

<script> src="main.js"</script>

javascript

function tocaSomPom() { document.querySelector('#som_tecla_pom').play(); }

document.querySelector('.tecla_pom').onclick = tocaSomPom;

1 resposta

Oi Vinicius, tudo certo?

Primeiramente, agradeço por sua espera e paciência em obter um retorno em sua dúvida.

O som não está sendo reproduzido porque sua tag script no arquivo HTML está sendo fechada antes do caminho do arquivo JavaScript, da seguinte forma:

<script> src="main.js"</script>

Para corrigir, o caminho src="main.js" deve ser colocado dentro da abertura da tag script para que fique assim:

<script src="main.js"></script>

Corrigindo isso, já será possível emitir som na tecla pom.

Espero que tenha tirado sua dúvida e me coloco à disposição caso ainda tenha alguma.

Um abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!