ComunicWeb/assets/js/common/songPlayer.js

51 lines
824 B
JavaScript
Raw Normal View History

2019-01-26 14:26:49 +00:00
/**
* Song player
*
* @author Pierre HUBERT
*/
class SongPlayer {
/**
* Initialize a new SongPlayer instance
*
* @param {String[]} sources The list of sources to exploit for the song
*/
constructor(sources){
this.songElem = document.createElement("audio");
//Process the list of sources
for (var index = 0; index < sources.length; index++) {
var url = sources[index];
var source = document.createElement("source");
source.src = url;
this.songElem.appendChild(source);
}
}
/**
* Play audio just once
*/
playOnce(){
2019-01-26 14:33:43 +00:00
this.songElem.loop = false;
2019-01-26 14:26:49 +00:00
this.songElem.play();
}
2019-01-26 14:33:43 +00:00
/**
* Play song forever
*/
playForever(){
this.songElem.loop = true;
this.songElem.play();
}
/**
* Stop song
*/
stop(){
this.songElem.pause();
this.songElem.currentTime = 0;
}
2019-01-26 14:26:49 +00:00
}