64 lines
2.0 KiB
JavaScript
64 lines
2.0 KiB
JavaScript
let audio = new Audio("/api/v/1.0/muzic");
|
|
|
|
function stopMuzic(id, interval) {
|
|
audio.pause();
|
|
audio.currentTime = 0;
|
|
document.getElementById(`play-${id}`).innerText = "Прослушать";
|
|
document.getElementById(`pause-${id}`).disabled = true;
|
|
document.getElementById(`play-${id}`).onclick = () => playMuzic(id);
|
|
|
|
clearInterval(interval);
|
|
document.getElementById(`road-${id}`).value = 0;
|
|
document.getElementById(`road-${id}`).max = 0;
|
|
}
|
|
|
|
function pauseMuzic(id) {
|
|
document.getElementById(`play-${id}`).disabled = true;
|
|
document.getElementById(`pause-${id}`).innerText = "Продолжить";
|
|
document.getElementById(`pause-${id}`).onclick = () => resumeMuzic(id);
|
|
audio.pause();
|
|
}
|
|
|
|
function resumeMuzic(id) {
|
|
document.getElementById(`play-${id}`).disabled = false;
|
|
document.getElementById(`pause-${id}`).innerText = "Пауза";
|
|
document.getElementById(`pause-${id}`).onclick = () => pauseMuzic(id);
|
|
audio.play();
|
|
}
|
|
|
|
function changeTime(value, id) {
|
|
audio.currentTime = value;
|
|
}
|
|
|
|
function playMuzic(id) {
|
|
audio.pause();
|
|
audio.currentTime = 0;
|
|
if (audio.muzId !== undefined) stopMuzic(audio.muzId, audio.muzTimer);
|
|
|
|
audio = new Audio(`/api/v/1.0/muzic?id=${id}`);
|
|
audio.onloadedmetadata = function () {
|
|
audio.muzId = id;
|
|
document.getElementById(`play-${id}`).innerText = "Остановить";
|
|
document.getElementById(`pause-${id}`).disabled = false;
|
|
document.getElementById(`road-${id}`).max = audio.duration;
|
|
audio.play();
|
|
|
|
const interval = setInterval(() => {
|
|
document.getElementById(`road-${id}`).value = audio.currentTime;
|
|
if (audio.currentTime >= audio.duration && document.getElementById(`repeat-mode-${id}`).checked) {
|
|
audio.currentTime = 0;
|
|
audio.play();
|
|
}
|
|
}, 750);
|
|
audio.muzTimer = interval;
|
|
document.getElementById(`play-${id}`).onclick = () =>
|
|
stopMuzic(id, interval);
|
|
document.getElementById(`pause-${id}`).onclick = () => pauseMuzic(id);
|
|
|
|
document.getElementById(`road-${id}`).onchange = function () {
|
|
// console.log('value', this.value);
|
|
changeTime(this.value, id);
|
|
};
|
|
};
|
|
}
|