Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

BOTÕES NÃO FUNCIONAM

Eu percebi que o som do botão POM não funcionava muito bem, pois ele tocava um som mais curto e com um volume muito baixo, mas depois na aula de fazer todos os botões funcionarem, nenhum funcionou, e nem mesmo o POM

Aqui está meu codigo no "main.js":

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

function tocaSomClap() {
    document.querySelector('#som_tecla_clap').play();
}
document.querySelector('.tecla_pom').onclick = tocaSomClap;


function tocaSomTim() {
    document.querySelector('#som_tecla_tim').play();
}
document.querySelector('.tecla_tim').onclick = tim;


function tocaSomPuff() {
    document.querySelector('#som_tecla_puff').play();
}
document.querySelector('.tecla_puff').onclick = tocaSomPuff;


function tocaSomSplash() {
    document.querySelector('#som_tecla_splash').play();
}
document.querySelector('.tecla_splash').onclick = tocaSomSplash;

function tocaSomToim() {
    document.querySelector('#som_tecla_toim').play();
}
document.querySelector('.tecla_toim').onclick = tocaSomToim;


function tocaSomPsh() {
    document.querySelector('#som_tecla_psh').play();
}
document.querySelector('.tecla_psh').onclick = tocaSomPsh;


function tocaSomTic() {
    document.querySelector('#som_tecla_tic').play();
}
document.querySelector('.tecla_tic').onclick = tocaSomTic;


function tocaSomTom() {
    document.querySelector('#som_tecla_tom').play();
}
document.querySelector('.tecla_tom').onclick = tocaSomTom;
4 respostas

Olá Lucas, tudo bem?

Pelo que pude perceber no seu código, você está atribuindo a função "tocaSomClap()" ao clique do botão de classe "tecla_pom", ou seja, você repetiu a classe .tecla_pom do botão um no botão dois que seria .tecla_clap o que pode estar causando o problema de nenhum botão funcionar corretamente.

Para corrigir isso, você pode atribuir a função "tocaSomClap()" ao clique do botão de classe "tecla_clap", utilizando o seguinte código:

document.querySelector('.tecla_clap').onclick = tocaSomClap;

Além disso, no "tocaSomTim()" na hora de chamar a função depois do "onclick" você passou só a palavra "tim" sendo que tem que ser a função "tocaSomTim":

document.querySelector('.tecla_tim').onclick = tocaSomTim;

Espero ter ajudado. Qualquer dúvida manda aqui. Valeu.

Boa tarde Renan, corrigi as linhas e fui para o site novamente, mas o som ainda não funcionava nos botões. Pode ser que seja o Index, ou as variaveis estão erradas em algum lugar. Aqui está o código do Index.

<title>Alura MIDI</title>

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600&display=swap" rel="stylesheet">

<link rel="icon" type="image/png" href="images/bateria.png">
<link rel="stylesheet" href="css/reset.css">
<link rel="stylesheet" href="css/estilos.css">
<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>

e o codigo com as linhas corrigidas:

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

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

function tocaSomClap() { document.querySelector('#som_tecla_clap').play(); } document.querySelector('.tecla_clap').onclick = tocaSomClap;

function tocaSomTim() { document.querySelector('#som_tecla_tim').play(); } document.querySelector('.tecla_tim').onclick = tocaSomTim;

function tocaSomPuff() { document.querySelector('#som_tecla_puff').play(); } document.querySelector('.tecla_puff').onclick = tocaSomPuff;

function tocaSomSplash() { document.querySelector('#som_tecla_splash').play(); } document.querySelector('.tecla_splash').onclick = tocaSomSplash;

function tocaSomToim() { document.querySelector('#som_tecla_toim').play(); } document.querySelector('.tecla_toim').onclick = tocaSomToim;

function tocaSomPsh() { document.querySelector('#som_tecla_psh').play(); } document.querySelector('.tecla_psh').onclick = tocaSomPsh;

function tocaSomTic() { document.querySelector('#som_tecla_tic').play(); } document.querySelector('.tecla_tic').onclick = tocaSomTic;

function tocaSomTom() { document.querySelector('#som_tecla_tom').play(); } document.querySelector('.tecla_tom').onclick = tocaSomTom;

solução!

Olá Renan, consegui solucionar o erro, obrigado pela correção, eu já estava ficando confuso de tanto código.

Que bom que conseguiu resolver. Fico feliz em ajudar :)