-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
29 lines (24 loc) · 903 Bytes
/
script.js
File metadata and controls
29 lines (24 loc) · 903 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Seleciona todas as teclas
const teclas = document.querySelectorAll('.tecla');
// Variável para armazenar o áudio que está tocando
let audioAtual = null;
teclas.forEach(tecla => {
tecla.addEventListener('click', () => {
const nomePassaro = tecla.querySelector('p').textContent.toLowerCase();
// Se houver um áudio tocando, pausa e reseta
if (audioAtual) {
audioAtual.pause();
audioAtual.currentTime = 0;
}
// Cria um novo áudio e toca
audioAtual = new Audio(`sons/${nomePassaro}.mp3`);
audioAtual.play().catch(err => {
console.error(`Erro ao tocar o som de ${nomePassaro}:`, err);
});
// Efeito visual opcional
tecla.classList.add('ativo');
setTimeout(() => {
tecla.classList.remove('ativo');
}, 200);
});
});