Spaces:
Paused
Paused
File size: 2,682 Bytes
1346bcc | 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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | const songSelect = document.getElementById('songSelect');
const player = document.getElementById('player');
const audioSource = document.getElementById('audioSource');
const songImage = document.getElementById('songImage');
const downloadMessage = document.getElementById('downloadMessage');
// Funci贸n para cargar la canci贸n y la imagen al seleccionar una canci贸n
songSelect.addEventListener('change', async function () {
const selectedSong = songSelect.value;
// Verifica si la opci贸n seleccionada no es "none"
if (selectedSong !== "none") {
const songUrl = `/music/${selectedSong}`;
const imageUrl = `/static/img/${selectedSong.replace('.mp3', '')}.jpg`;
try {
await Promise.all([
loadAudio(songUrl),
loadImage(imageUrl)
]);
// Ambos han cargado correctamente, ahora podemos reproducir la canci贸n
player.load();
player.play();
songImage.style.display = "block"; // Show the songImage element
} catch (error) {
console.error('Error al cargar la canci贸n o la imagen:', error);
}
} else {
// Si la opci贸n seleccionada es "none", oculta la imagen del logo
songImage.src = "";
location.reload(); // Refresh the page
}
});
// Funci贸n para cargar la canci贸n
async function loadAudio(url) {
return new Promise((resolve, reject) => {
audioSource.src = url;
player.load();
player.oncanplaythrough = resolve;
player.onerror = reject;
});
}
// Funci贸n para cargar la imagen
async function loadImage(url) {
return new Promise((resolve, reject) => {
songImage.src = url;
songImage.onload = resolve;
songImage.onerror = reject;
});
}
// Funci贸n para descargar una canci贸n
async function downloadSong() {
try {
const urlInput = document.getElementById('urlInput');
const response = await fetch('/download', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
url: urlInput.value
})
});
const data = await response.json();
downloadMessage.textContent = `Descarga exitosa. T铆tulo: ${data.message}, se autorefrescar谩 en 5 segundos.`;
// refresh page to update song list
setTimeout(function () {
location.reload();
}, 5000);
} catch (error) {
console.error('Error al descargar la canci贸n:', error);
downloadMessage.textContent = 'Error al descargar la canci贸n.';
}
}
|