Olá, Fábio! Como vai?
Que bacana que você está trabalhando no seu projeto e já compartilhou no GitHub! Parece que você está progredindo bem com as implementações e ajustes no código. Sobre a questão do som que não toca no primeiro clique, isso pode estar relacionado a como os eventos de clique estão sendo tratados no seu código ou talvez à inicialização do áudio.
Uma abordagem comum é garantir que o áudio esteja pré-carregado antes de ser tocado. Você pode tentar usar a função load()
do objeto de áudio para garantir que o som esteja pronto para ser reproduzido. Aqui está um exemplo simples de como você poderia implementar isso:
const audio = new Audio('caminho/para/o/seu/arquivo.mp3');
// Pré-carregar o áudio
audio.load();
// Função para tocar o áudio
function tocarSom() {
audio.play();
}
// Adicionando o evento de clique
document.getElementById('seuBotao').addEventListener('click', tocarSom);
Certifique-se de que o caminho para o arquivo de áudio está correto e que o arquivo está acessível. Além disso, verifique se não há restrições de navegador que possam estar afetando a reprodução automática do áudio no primeiro clique.
Espero ter ajudado e fico à disposição se precisar.
Abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado