mirror of
				https://github.com/pierre42100/ComunicWeb
				synced 2025-11-04 04:04:20 +00:00 
			
		
		
		
	Created song player class
This commit is contained in:
		
							
								
								
									
										34
									
								
								assets/js/common/songPlayer.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								assets/js/common/songPlayer.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
/**
 | 
			
		||||
 * 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(){
 | 
			
		||||
		this.songElem.play();
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -18,24 +18,13 @@ ComunicWeb.components.notifications.song = {
 | 
			
		||||
		
 | 
			
		||||
		//Create song element if required
 | 
			
		||||
		if(this.songElem == null){
 | 
			
		||||
			this.songElem = createElem2({
 | 
			
		||||
				type: "audio"
 | 
			
		||||
			});
 | 
			
		||||
 | 
			
		||||
			createElem2({
 | 
			
		||||
				type: "source",
 | 
			
		||||
				appendTo: this.songElem,
 | 
			
		||||
				src: ComunicWeb.__config.assetsURL + "audio/notif_song.mp3"
 | 
			
		||||
			});
 | 
			
		||||
 | 
			
		||||
			createElem2({
 | 
			
		||||
				type: "source",
 | 
			
		||||
				appendTo: this.songElem,
 | 
			
		||||
				src: ComunicWeb.__config.assetsURL + "audio/notif_song.ogg"
 | 
			
		||||
			});
 | 
			
		||||
			this.songElem = new SongPlayer([
 | 
			
		||||
				ComunicWeb.__config.assetsURL + "audio/notif_song.mp3",
 | 
			
		||||
				ComunicWeb.__config.assetsURL + "audio/notif_song.ogg"
 | 
			
		||||
			]);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Play song
 | 
			
		||||
		this.songElem.play();
 | 
			
		||||
		this.songElem.playOnce();
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -320,6 +320,7 @@ class Dev {
 | 
			
		||||
		"js/common/formChecker.js",
 | 
			
		||||
		"js/common/date.js",
 | 
			
		||||
		"js/common/system.js",
 | 
			
		||||
		"js/common/songPlayer.js",
 | 
			
		||||
 | 
			
		||||
		//Languages
 | 
			
		||||
		"js/langs/en.inc.js",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user