more modern js, more keyboard-controls #5

Merged
zotan merged 30 commits from ctucx/webmusic:master into master 2021-03-21 18:04:15 +01:00
Showing only changes of commit 4b6e69d4c1 - Show all commits

View file

@ -63,6 +63,32 @@ const initState = () => {
document.getElementById("repeatButton").addEventListener("click", toggleRepeat)
document.getElementById("continuousButton").addEventListener("click", toggleContinue)
audioPlayer.addEventListener("canplay", function () {
audioPlayer.play();
});
audioPlayer.addEventListener("play", function () {
setPlayerState("playing");
});
audioPlayer.addEventListener("pause", function () {
setPlayerState("paused");
});
audioPlayer.addEventListener("error", function () {
setPlayerState("error loading track");
});
audioPlayer.addEventListener("ended", function () {
console.log("end track: " + index);
setPlayerState("idle");
nextTrack();
});
audioPlayer.addEventListener("timeupdate", function () {
updatePlayerState();
});
dirElements.forEach(function(element){
element.id = id++;
});
@ -116,6 +142,7 @@ const updateButtonState = () => {
const playSong = (id) => {
console.log("track id:" +id)
let element = document.getElementById(id);
if (element === null) return;
@ -131,36 +158,10 @@ const playSong = (id) => {
audioPlayer.src = element.href;
setPlayerState("loading");
audioPlayer.load();
audioPlayer.loop = repeat;
element.classList.add("playing");
audioPlayer.addEventListener("canplay", function () {
audioPlayer.play();
});
audioPlayer.addEventListener("play", function () {
setPlayerState("playing");
});
audioPlayer.addEventListener("pause", function () {
setPlayerState("paused");
});
audioPlayer.addEventListener("error", function () {
setPlayerState("error loading track");
});
audioPlayer.addEventListener("ended", function () {
setPlayerState("idle");
nextTrack();
});
audioPlayer.addEventListener("timeupdate", function () {
updatePlayerState();
});
}
const togglePlayback = () => {