cl/content/vendor/aplaylist/videoplaylist.js
2019-11-26 12:18:41 -05:00

53 lines
1.7 KiB
JavaScript

function init(){
let video = document.getElementById('videoplaylist');
let playlist = document.getElementById('playlist');
let tracks = playlist.getElementsByTagName('a');
video.volume = 0.50;
//Cuenta los tracks
for(let track in tracks) {
let link = tracks[track];
if(typeof link === "function" || typeof link === "number"){continue;}
link.addEventListener('click', function(e) {
e.preventDefault();
let song = this.getAttribute('href');
run(song, video, this);
});
}
//Agregamos evento para reproducir el siguiente items
video.addEventListener('ended',function(e) {
for(let track in tracks) {
let link = tracks[track];
let nextTrack = parseInt(track) + 1;
if(typeof link === "function" || typeof link === "number"){continue;}
if(!this.src){this.src = tracks[0];}
if(track == (tracks.length - 1)){nextTrack = 0;}
console.log(nextTrack);
if(link.getAttribute('href') === this.src) {
let nextLink = tracks[nextTrack];
run(nextLink.getAttribute('href'), video, nextLink);
break;
}
}
});
}
function run(song, video, link){
let parent = link.parentElement;
//Quita el active de todos los elementos de la lista
let items = parent.parentElement.getElementsByTagName('li');
for(let item in items) {
if (items[item].classList) {
items[item].classList.remove("is-active-play");
}
}
//Agrega active a este elemento
parent.classList.add("is-active-play");
//Inicia la reproducción
video.src = song;
video.load();
video.play();
}
init();