Вход Регистрация
Файл: system/AJAX/AlphaPlayer/audio/player.js
Строк: 217
<?php
/*
--------------------------------------
AlphaPlayer 1.0.0
Автор: Пченашев Анзаур
Официальный сайт: https://alpha-cms.ru
--------------------------------------
*/

/*
-----------------------------------------
Отправка команды на воспроизведение трека
-----------------------------------------
*/

function PlayGo(play_id, id_post, id_key, type, array_click) {
  
  var 
img_element = document.getElementById('player-img');
  var 
player_data2 = document.getElementById('player-data');
  var 
player_music_download2 = document.getElementById('player-music-download');
  var 
player_music_comments2 = document.getElementById('player-music-comments');
  var 
player_data = $(player_data2);
  var 
player_music_download = $(player_music_download2);
  var 
player_music_comments = $(player_music_comments2);
  
  if (
array_click == 'none') {
    
    var array = $(
'.music_post'+id_post).attr('array');
    
  }else{

    var array = 
array_click;
    
  }
  
  if (
type == 'none') {
    
    var 
key = parseInt(id_key);
  
  }
  
  if (
type == 'forward') {
    
    var 
key = parseInt(id_key) + 1;
  
  }
  
  if (
type == 'back') {
    
    var 
key = parseInt(id_key) - 1;
  
  }
  
  
player_data.attr('array', array);
  
  $.
ajax({
    
    
url: "/system/AJAX/AlphaPlayer/audio/receiver.php",
    
type: "post",
    
dataType: "json",
    
data: {
      
"array": array,
      
"id": play_id,
      
"key": key
    
},
    
success: function(data) {
      
      $(
'#play_mini_artist').html(data.artist);
      $(
'#play_mini_name').html(data.name);
      
      $(
'#play_artist').html(data.artist);
      $(
'#play_name').html(data.name);
      $(
'#play_count1').html(data.count1);
      $(
'#play_count2').html(data.count2);
      
img_element.src = data.imgm;
      
player_data.attr('id_key', data.key);
      
player_data.attr('play_id', data.id);
      
player_music_download.attr('href', '/music/'+data.id+'/');
      
player_music_comments.attr('href', '/m/music/show/?id='+data.id);
      
      
MusicPlay(data.id, id_post, data.key, array);
    
    }
  
  });
  
}

/*
------------------
Проигрывание трека
------------------
*/

var tp = 0;
var 
ky = 0;

function 
MusicPlay(id, id_post, id_key, array) {
  
  
play_eq_off();
  
  if (
parseInt(id) > 0) {
    
    
//Данные из тега <audio>
    
var player = document.getElementsByTagName('audio')[0];
    
    
//Текущий трек 
    
player.src = "/files/upload/music/source/"+id+".mp3";
    
//player.src = "/music/"+id+"/?get=show";
    
    //Ловим контейнер текущего трека
    
var player_id = document.getElementById('music'+id);
    
    if (
tp == id) {

      
player.pause();
      
tp = 0;
    
    }else{

      
player.load();  
      
player.play();
      
tp = id;
    
    }
    
    
//Кастомный прогресс бар с перемоткой
    
var progressBar = document.getElementById('player-play');
    
    
progressBar.addEventListener('click', function(event){
      
      
let widthLeft = $(progressBar).offset().left;
      
let x = event.pageX - widthLeft;
      
let xPersent =  x / this.offsetWidth * 100;
      
player.currentTime = player.duration * (xPersent / 100);
      var 
curtime = player.duration * (xPersent / 100);
      
player.play();
    
    });
    
    var 
bar = $('.player-bar');    
    
//var barWidth = bar.parent().width(); 
    
var barWidth = bar.attr('width');
    var 
barChange = false;
    var 
perSecond = 0;
    var 
perPixel = 0;
    
    function 
changeBar() {
      
      
bar.width(player.currentTime * perSecond);
      $(
'#timer').html(duration_format(player.currentTime));
    
    }
    
    
//Получение метаданных
    
player.addEventListener('loadedmetadata', function(){ 
      
      
perSecond = barWidth / player.duration; 
      
perPixel = player.duration / barWidth;
      
      
//Длительность трека
      
var dt = duration_format(player.duration);      
      
      
//Кнопка play
      
$('#play').click(function() {
        
        
player.play();
      
      });
      
      
//Кнопка pause
      
$('#pause').click(function() {
        
        
player.pause();
      
      });
      
      
//Кнопка pause2
      
$('#pause2').click(function() {
        
        
player.pause();
      
      });
      
      
//Кнопка pause3
      
$('#pause3').click(function() {
        
        
player.pause();
      
      });
      
      
//Кнопка play3
      
$('#play3').click(function() {
        
        
player.play();
      
      });
      
      
//Включить звук
      
$('#volumep').click(function() {
        
        var 
v = player.volume + 1;
        
player.volume = v >= 1 ? 1 : v;
      
      });
      
      
//Выключить звук
      
$('#volumem').click(function() {
        
        var 
v = player.volume - 1;
        
player.volume = v <= 0 ? 0 : v;
      
      });
      
      $(
'.duration').html(dt);
    
    });
    
    
//Начало воспроизведения
    
player.addEventListener('playing', function(){
      
      
play_eq_off(); 
      
mini_player_show();
      
barChange = setInterval(changeBar, 500); 
      
ky = id;
      
      
//Навешиваем эквалайзер на текущий трек
      
$(player_id).html('<img src="/system/AJAX/AlphaPlayer/icons/eq.gif">');
    
    });
    
    
//Пауза
    
player.addEventListener('pause', function(){ 
      
      
play_eq_off();
      
clearInterval(barChange); 
      
barChange = false; 
      
changeBar();
      
tp = 0;
    
    });
    
    
//Конец воспроизведения
    
player.addEventListener('ended', function(){ 
      
      
play_eq_off();
      
      if (
ky == id){
        
        
PlayGo(id, id_post, id_key, 'forward', array);
        
ky = 0;
        
      }
    
    });
    
    return 
false;
  
  }
  
}

/*
------------------
Сброс проигрывания
------------------
*/

function play_eq_off() {
  
  
//Сбрасываем эквалайзер
  
$(".music-play").html('<i class="fa fa-play fa-lg"></i>');
  
}

/*
---------------------------------------
Таймер оставшегося времени до окончания 
текущего трека
---------------------------------------
*/

function duration_format(time){   
  
  var 
hrs = ~~(time / 3600);
  var 
mins = ~~((time % 3600) / 60);
  var 
secs = ~~time % 60;
  var 
ret = "";
  
  if (
hrs > 0) {
    
    
ret += "" + hrs + ":" + (mins < 10 ? "0" : "");
  
  }
  
  
ret += "" + mins + ":" + (secs < 10 ? "0" : "");
  
ret += "" + secs;
  
  return 
ret;

}

/*
--------------------------------
Отключение/включение мини-плеера
--------------------------------
*/

//Включение
function mini_player_show() {
  
  var 
mini1 = document.getElementById('player-mini');
  var 
mini2 = document.getElementById('player-mini2');
  
  
mini1.style.display = "";
  
mini2.style.display = "";
  
}

//Отключение
function mini_player_hide() {
  
  var 
mini1 = document.getElementById('player-mini');
  var 
mini2 = document.getElementById('player-mini2');
  
  
mini1.style.display = "none";
  
mini2.style.display = "none";
  
}

/*
----------------------------
Стоп/пуск для трека в плеере
----------------------------
*/

function PlayPause(type) {
  
  var 
play = document.getElementById('play');
  var 
pause = document.getElementById('pause');
  var 
play3 = document.getElementById('play3');
  var 
pause3 = document.getElementById('pause3');
  
  if (
type == "pause"){
    
    
pause.style.display = "none";
    
play.style.display = "";
    
pause3.style.display = "none";
    
play3.style.display = ""; 
    
  }
  
  if (
type == "play"){
    
    
pause.style.display = "";
    
play.style.display = "none";
    
pause3.style.display = "";
    
play3.style.display = "none";
    
  }
  
}

/*
-------------------------------------
Отключение/включение основного плеера
-------------------------------------
*/

function player() {
  
  var 
player = document.getElementById('player_с');
  var 
player_phone = document.getElementById('player_phone');
  
  if (
player.style.display == "none"){ 
    
    
player.style.display = "";
    
player_phone.style.display = "";
  
  }else{
    
    
player.style.display = "none";
    
player_phone.style.display = "none";
  
  }
  
}
  
/*
----------------------------------
Переход к следующей песне по клику
----------------------------------
*/

function player_forward() {
  
  var 
player_data2 = document.getElementById('player-data');
  var 
player_data = $(player_data2);  
  var 
id_post = player_data.attr('id_post');
  var 
id_key = player_data.attr('id_key');
  var array = 
player_data.attr('array');
  var 
play_id = player_data.attr('play_id');
  
  
PlayGo(play_id, id_post, id_key, 'forward', array);
  
}

/*
-----------------------------------
Переход к предыдущей песне по клику
-----------------------------------
*/

function player_backward() {
  
  var 
player_data2 = document.getElementById('player-data');
  var 
player_data = $(player_data2);  
  var 
id_post = player_data.attr('id_post');
  var 
id_key = player_data.attr('id_key');
  var array = 
player_data.attr('array');
  var 
play_id = player_data.attr('play_id');
  
  
PlayGo(play_id, id_post, id_key, 'back', array);
  
}

/*
-----------------------
Включить/выключить звук
-----------------------
*/

function volume() {
  
  var 
plus = document.getElementById('volumep');
  var 
minus = document.getElementById('volumem');

  if (
minus.style.display == ""){
    
    
minus.style.display = "none";
    
plus.style.display = ""; 
    
  }else{
    
    
minus.style.display = "";
    
plus.style.display = "none"; 
    
  }
  
}
?>
Онлайн: 2
Реклама