File "script.js"

Full path: E:/sites/Single15/tinmung2007/webroot/AudioBooks/TinmungAudiobooks/24_giokhonancuaChuaGiesu/js/script.js
File size: 9.74 KiB (9975 bytes)
MIME-type:
Charset: utf-8

Download   Open   Back

(function($){
	// Settings
	var repeat = localStorage.repeat || 0,
		shuffle = localStorage.shuffle || 'false',
		continous = true,
		autoplay = true,
		playlist = [
	{
         title:'Dẫn nhập',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/001.-Dan nhap.mp3',
ogg: ''
},{
        title:'Về việc suy niệm',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/002.-Ve viec suy niem.mp3',
ogg: ''
},{
       title:' Kinh mở đầu',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/003.-Kinh mo dau.mp3',
ogg: ''
},{
        title:'Từ 5-6 giờ chiều',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/004.-5 va 6 gio chieu.mp3',
ogg: ''
},{
         title:'Từ 7-8 tối',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/005.-gio 7 va 8.mp3',
ogg: ''
},{
        title:' Giờ thứ 8',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/006.-Gio thu 8.mp3',
ogg: ''
},{
        title:'Giờ thứ 9 và 10',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/007.-Gio 9 va 10.mp3',
ogg: ''
},{
        title:'11 giờ đêm',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/008.-11 gio dem.mp3',
ogg: ''
},{
        title:'11 giờ đêm tiếp',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/009.-11 gio dem-suite.mp3',
ogg: ''
},{
        title:'12 giờ đêm',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/010.-12 gio sang.mp3',
ogg: ''
},{
        title:'1 đến 3 giờ sáng',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/011.-1 den 3 gio sang.mp3',
ogg: ''
},{
         title:'4 đến 5 giờ sáng',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/012.-4 den 5 gios ang.mp3',
ogg: ''
},{
        title:'6 giờ đến 9 giờ sáng',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/013.-6 den 9 gio sang.mp3',
ogg: ''
},{
         title:'9 giờ sáng.',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/014.-9 gio sang suite.mp3',
ogg: ''
},{
          title:'10 giờ sáng',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/015.-10 gio sang.mp3',
ogg: ''
},{
        title:'10 giờ tiếp theo',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/016.-10 gio sang_tiep theo.mp3',
ogg: ''
},{
        title:'11 giờ trưa',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/017.-11 gio trua.mp3',
ogg: ''
},{
       title:'11 giờ trưa tiếp theo',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/018.-11 gio trua-suite.mp3',
ogg: ''
},{
        title:'12 giờ trưa',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/019.-12 gio trua.mp3',
ogg: ''
},{
        title:'Lời cuối',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/020.-Loi-cuoi.mp3',
ogg: ''
},{
        title:'021.-loi-cuoi-suite.mp3',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/021.-loi-cuoi-suite.mp3',
ogg: ''
},{
         title:'Táng xác Chúa Giê-su',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/022.-Tang-xac-CG.mp3',
ogg: ''
},{
        title:'Kinh sau mười giờ',
        artist:'Người đọc: Chị Lucia',
album: '',
cover:'img/music-icon.jpg',
mp3: 'mp3/023.-Kinh sau moi gio.mp3',
ogg: ''

},

];











	// Load playlist
	for (var i=0; i<playlist.length; i++){
		var item = playlist[i]; ii = i +1;
		$('#playlist').append('<li>'+ii+' - '+item.title+'</li>');
	}

	var time = new Date(),
		currentTrack = shuffle === 'true' ? time.getTime() % playlist.length : 0,
		trigger = false,
		audio, timeout, isPlaying, playCounts;

	var play = function(){
		audio.play();
		$('.playback').addClass('playing');
		timeout = setInterval(updateProgress, 500);
		isPlaying = true;
	}

	var pause = function(){
		audio.pause();
		$('.playback').removeClass('playing');
		clearInterval(updateProgress);
		isPlaying = false;
	}

	// Update progress
	var setProgress = function(value){
		var currentSec = parseInt(value%60) < 10 ? '0' + parseInt(value%60) : parseInt(value%60),
			ratio = value / audio.duration * 100;

		$('.timer').html(parseInt(value/60)+':'+currentSec);
		$('.progress .pace').css('width', ratio + '%');
		$('.progress .slider a').css('left', ratio + '%');
	}

	var updateProgress = function(){
		setProgress(audio.currentTime);
	}

	// Progress slider
	$('.progress .slider').slider({step: 0.1, slide: function(event, ui){
		$(this).addClass('enable');
		setProgress(audio.duration * ui.value / 100);
		clearInterval(timeout);
	}, stop: function(event, ui){
		audio.currentTime = audio.duration * ui.value / 100;
		$(this).removeClass('enable');
		timeout = setInterval(updateProgress, 500);
	}});

	// Volume slider
	var setVolume = function(value){
		audio.volume = localStorage.volume = value;
		$('.volume .pace').css('width', value * 100 + '%');
		$('.volume .slider a').css('left', value * 100 + '%');
	}

	var volume = localStorage.volume || 0.5;
	$('.volume .slider').slider({max: 1, min: 0, step: 0.01, value: volume, slide: function(event, ui){
		setVolume(ui.value);
		$(this).addClass('enable');
		$('.mute').removeClass('enable');
	}, stop: function(){
		$(this).removeClass('enable');
	}}).children('.pace').css('width', volume * 100 + '%');

	$('.mute').click(function(){
		if ($(this).hasClass('enable')){
			setVolume($(this).data('volume'));
			$(this).removeClass('enable');
		} else {
			$(this).data('volume', audio.volume).addClass('enable');
			setVolume(0);
		}
	});

	// Switch track
	var switchTrack = function(i){
		if (i < 0){
			track = currentTrack = playlist.length - 1;
		} else if (i >= playlist.length){
			track = currentTrack = 0;
		} else {
			track = i;
			currentTrack = track;
		}

		$('audio').remove();
		loadMusic(track);
		if (isPlaying == true) play();
	}

	// Shuffle
	var shufflePlay = function(){
		var time = new Date(),
			lastTrack = currentTrack;
		currentTrack = time.getTime() % playlist.length;
		if (lastTrack == currentTrack) ++currentTrack;
		switchTrack(currentTrack);
	}

	// Fire when track ended
	var ended = function(){
		pause();
		audio.currentTime = 0;
		playCounts++;
		if (continous == true) isPlaying = true;
		if (repeat == 1){
			play();
		} else {
			if (shuffle === 'true'){
				shufflePlay();
			} else {
				if (repeat == 2){
					switchTrack(++currentTrack);
				} else {
					if (currentTrack < playlist.length) switchTrack(++currentTrack);
				}
			}
		}
	}

	var beforeLoad = function(){
		var endVal = this.seekable && this.seekable.length ? this.seekable.end(0) : 0;
		$('.progress .loaded').css('width', (100 / (this.duration || 1) * endVal) +'%');
	}

	// Fire when track loaded completely
	var afterLoad = function(){
		if (autoplay == true) play();
	}

	// Load track
	var loadMusic = function(i){
		var item = playlist[i],
			newaudio = $('<audio>').html('<source src="'+item.mp3+'"><source src="'+item.ogg+'">').appendTo('#player');
		
		$('.cover').html('<img src="'+item.cover+'" alt="'+item.album+'">');
		$('.tag').html('<strong>'+item.title+'</strong><span class="artist">'+item.artist+'</span>');
		$('#playlist li').removeClass('playing').eq(i).addClass('playing');
		audio = newaudio[0];
		audio.volume = $('.mute').hasClass('enable') ? 0 : volume;
		audio.addEventListener('progress', beforeLoad, false);
		audio.addEventListener('durationchange', beforeLoad, false);
		audio.addEventListener('canplay', afterLoad, false);
		audio.addEventListener('ended', ended, false);
	}

	loadMusic(currentTrack);
	$('.playback').on('click', function(){
		if ($(this).hasClass('playing')){
			pause();
		} else {
			play();
		}
	});
	$('.rewind').on('click', function(){
		if (shuffle === 'true'){
			shufflePlay();
		} else {
			switchTrack(--currentTrack);
		}
	});
	$('.fastforward').on('click', function(){
		if (shuffle === 'true'){
			shufflePlay();
		} else {
			switchTrack(++currentTrack);
		}
	});
	$('#playlist li').each(function(i){
		var _i = i;
		$(this).on('click', function(){
			switchTrack(_i);
		});
	});

	if (shuffle === 'true') $('.shuffle').addClass('enable');
	if (repeat == 1){
		$('.repeat').addClass('once');
	} else if (repeat == 2){
		$('.repeat').addClass('all');
	}

	$('.repeat').on('click', function(){
		if ($(this).hasClass('once')){
			repeat = localStorage.repeat = 2;
			$(this).removeClass('once').addClass('all');
		} else if ($(this).hasClass('all')){
			repeat = localStorage.repeat = 0;
			$(this).removeClass('all');
		} else {
			repeat = localStorage.repeat = 1;
			$(this).addClass('once');
		}
	});

	$('.shuffle').on('click', function(){
		if ($(this).hasClass('enable')){
			shuffle = localStorage.shuffle = 'false';
			$(this).removeClass('enable');
		} else {
			shuffle = localStorage.shuffle = 'true';
			$(this).addClass('enable');
		}
	});
})(jQuery);

PHP File Manager