Актуальная на дынный момент версия - Мультитрековый плеер v2
Предыдущие версии с подробными инструкциями актуальными до сих пор:
Мультитрековый плеер в постах (плеер с плейлистом) v1.0
Мультитрековый плеер в постах (плеер с плейлистом) v1.1
Музыка в постах
Сообщений 601 страница 620 из 765
Поделиться1Пн, 3 Авг 2009 18:09:27
Поделиться601Вс, 11 Сен 2016 17:20:44
Mirra Bell
Наверно этот - Дополнительные медиахостинги v2(.2)
Поделиться602Вс, 11 Сен 2016 18:04:22
Alex_63
Поставила его на тест, но у меня даже кнопки никакой не появилось http://almarein.mybb.ru/
Поделиться603Вс, 11 Сен 2016 18:12:51
Mirra Bell
Скрипт работает по кнопке Видео, там появляется вкладка "Второй список"
Поделиться604Сб, 17 Сен 2016 22:33:05
Какой из скриптов работает на музыку в постах?
Дополнительные медиахостинги v2(.2) - этот?
Поставила. Но не понятно как работать со вторым списком. Ни одна ссылка в него поставленная не срабатывает. Кнопка "вставить" не отвечает. Просто ничего не происходит.
Отредактировано Reina_Avart (Сб, 17 Сен 2016 23:08:15)
Поделиться605Вс, 18 Сен 2016 12:35:37
Reina_Avart
Ссылку на форум с проблемой, и дайте пример ссылки, которую пытаетесь вставлять
Поделиться606Сб, 26 Ноя 2016 14:30:02
Мультитрековый плеер в постах (плеер с плейлистом) v1.0
Плеер построен на технологии HTML5 и не требует наличия flash плагина для браузера, поэтому плеер без проблем работает и в мобильных версиях
Плеер мультиформатный, воспроизводит аудио файлы в форматах: mp3, ogg, m4a (aac), wav
поддержка браузерами:
mp3 формата - http://caniuse.com/#feat=mp3
ogg формата - http://caniuse.com/#search=ogg
wav формата - http://caniuse.com/#search=wav
aac формата - http://caniuse.com/#search=aac
как видим mp3 и aac поддерживаются всеми современными браузерами, кроме Оперы мини, так что пользователей-любителей этого браузера просьба не беспокоить вопросами и претензиями
Где брать ссылки на аудио?
прежде всего проверенные, надёжные сайты
1.zf.fm
ссылки на аудио приходится выуживать топорным способом, зато они статичные и практически не меняются
топорный метод узнать ссылку на mp3 это посмотреть её в браузере после скачивания
2. zaycev.net (ссылки для скачивания и являются прямыми ссылками на mp3 для работы с плеером)
ссылки на аудио достать проще, но иногда они становятся "битыми", то ли по просьбе правообладателей что-то удаляется, то ли ещё по каким причинам
3.jango.com (много интересной зарубежной музыки в форматах mp3 и m4a (aac))
редкие записи, + разные форматы
4.archive.org/details/freemusicarchive (много интересной зарубежной музыки в форматах mp3 и ogg)
здесь вся найденная музыка хранится (дублируется) в двух форматах mp3 и ogg
найти можно огромное количество нераскрученных исполнителей и коллективов, я например нашёл записи своей группы (в которой играю), которые я размещал на jamendo в 2009 году
как выуживать ссылки на сайтах, если нет ссылки для скачивания?
для этого есть вспомогательные дополнения (расширения) для браузеров:
1. для хрома и opera 41 - Video Downloader Pro
выдаёт в своём меню ссылку на mp3, mp4, m4a и т.д. при воспроизведении мультимедиа контента на сайте
2 для мозиллы и opera 41 - Audio Downloader Prime
как добавлять/удалять треки в плейлисте?
строка песни в трек листе формируется из составляющих:
n - это имя, название (name)
u - это ссылка на аудио (url)
c - это обложка альбома, фото артиста группы (cover)
помещается всё что относится к одной песне в фигурные скобки {...} и перечисляется через запятую, кроме последней строки
{n:"Название песни 1", u:"Ссылка на mp3", c:"ссылка на обложку альбома (фото артиста, группы)"},
{n:"Песня 2", u:"http://mp3.stream.tb-group.fm/trb.mp3?/;.mp3", c:"http://www.webdesign-flash.ro/p/rap/content/thumbnails/small21.jpg"}
в html-верх
<style type="text/css"> #form-audio {background: url(http://forumstatic.ru/files/0017/d8/50/90072.png) no-repeat 50% 5px;} @font-face { font-family: 'Material Icons'; font-style: normal; font-weight: 400; src: local('Material Icons'), local('MaterialIcons-Regular'), url(https://fonts.gstatic.com/s/materialicons/v17/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format('woff2'), url('http://forumstatic.ru/files/0017/d8/50/55034.woff') format('woff'), url('http://forumstatic.ru/files/0017/d8/50/69630.ttf') format('truetype'); } .material-icons { font-family: 'Material Icons'; font-weight: normal; font-style: normal; font-size: 24px; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; word-wrap: normal; direction: ltr; -webkit-font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } div[id^="r-"] { background-color: #9f9f9f; border: 2px solid #59add4; background-image: -webkit-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0)); background-image: -moz-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0)); background-image: -ms-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0)); background-image: -o-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0)); background-image: linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0)); -moz-border-radius: 4px;border-radius: 4px;khtml-border-radius:4px;-webkit-border-radius:4px; -moz-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset; -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset; box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset; margin:3px;z-index:200;overflow:hidden;width:430px;opacity: 0.9; text-shadow: 0 1px 0 rgba(255,255,255,.4);font-weight: bold;padding: 10px; } #play {background: transparent url(http://forumstatic.ru/files/0012/72/15/89476.png) no-repeat scroll 0 -22px; border: 0 none;cursor: pointer;display: block;float: left;height: 31px;left: 13px;margin: 7px;vertical-align: super;width: 31px;} #prev,#next {border: 0 none;cursor: pointer;height: 10px;margin-left: 9px;width: 21px; vertical-align: middle;} #prev {background: transparent url(http://forumstatic.ru/files/0012/72/15/89476.png) no-repeat scroll 0 0;} #next {background: transparent url(http://forumstatic.ru/files/0012/72/15/89476.png) no-repeat scroll 0 -11px;} #volume{-webkit-appearance:none;border-radius:4px;box-shadow:inset 0 0 1px#333; background-color:#999;cursor: pointer;height:4px;left: 40px;position: absolute;top: 9px;vertical-align: bottom;width:70px;} input[type='range']::-moz-range-progress {background:url(//papercraft.su/plate/img/plate_progress.png) repeat-x scroll 0 -45px;} input[type='range']::-moz-range-track{-moz-appearance:none;border-radius:4px;box-shadow:inset 0 0 1px#333;height:4px;} input[type='range']::-moz-range-thumb{-webkit-appearance:none !important; background: url(http://forumstatic.ru/files/0012/b1/41/89973.png) no-repeat scroll 0 0; border: 0; height: 19px; width:19px; cursor: pointer; filter: drop-shadow(3px 3px 7px slategrey); } input[type='range']::-webkit-slider-thumb{-webkit-appearance:none !important; background: url(http://forumstatic.ru/files/0012/b1/41/89973.png) no-repeat scroll 0 0; border:0;height:19px;width:19px;cursor: pointer;-webkit-filter: drop-shadow(3px 3px 7px slategrey); } #seekbar { -webkit-appearance:none !important;background: #999;border-radius:4px; box-shadow:inset 0 0 1px#333;height:4px;width: 160px; vertical-align: super;} .volume{background:url(http://forumstatic.ru/files/0012/72/15/67036.png)no-repeat scroll 0-75px rgba(0,0,0,0);content:"";display:inline-block;height:25px;margin-top:0;position:relative;right:-5px;vertical-align:middle;width:25px;} button:focus, input:focus {outline:none;} #duration, #end {font-size: 0.8em; vertical-align: super;} #timebox {margin: 2px;} #track { font-size: 0.8em;overflow: hidden;padding: 5px; text-align: left;width: 420px;} #track li{cursor: pointer;} #track li:nth-child(odd) {background: #dadada;} #track li:nth-child(even) {background:#cdcdcd;} #track li.active {background:#bddeee;} .spin {-webkit-animation: spin 1.8s infinite linear;-moz-animation: spin 1.8s infinite linear;-o-animation: spin 1.8s infinite linear;animation: spin 1.8s infinite linear;} @-moz-keyframes spin { 0% {-moz-transform: rotate(0deg);} 100% {-moz-transform: rotate(359deg);} } @-webkit-keyframes spin { 0% {-webkit-transform: rotate(0deg);} 100% {-webkit-transform: rotate(359deg);} } @-o-keyframes spin { 0% {-o-transform: rotate(0deg);} 100% {-o-transform: rotate(359deg);} } @keyframes spin { 0% {-webkit-transform: rotate(0deg);transform: rotate(0deg);} 100% {-webkit-transform: rotate(359deg);transform: rotate(359deg);} } #action {color: #fffff0;display: inline-block;float: right;font-size: 15px;overflow: hidden;text-shadow: 0px 3px 2px rgba(150, 150, 150, 1);width: 250px;animation: marquee 15s linear infinite;} #action:hover {animation-play-state: paused} @-moz-keyframes marquee { 0% {-moz-transform: translate(0, 0);} 100% {-moz-transform: translate(-30%, 0);} } @-webkit-keyframes marquee { 0% {-webkit-transform: translate(0, 0);} 100% {-webkit-transform: translate(-30%, 0);} } @keyframes marquee { 0%{ transform: translate(0, 0); } 100% { transform: translate(-30%, 0); } } .adinput {display: table;} .adinput::before {color: #888;content: attr(data-i) ". ";} span[data-i="1"] #deltrack {display: none !important;} #addtrack { color: #009900; background: linear-gradient(#009900, #006600); background: -webkit-linear-gradient(#009900, #006600); background: -o-linear-gradient(#009900, #006600); background: -ms-linear-gradient(#009900, #006600); } #deltrack { color: #cc0000; background: linear-gradient(#cc0000, #990000); background: -webkit-linear-gradient(#cc0000, #990000); background: -o-linear-gradient(#cc0000, #990000); background: -ms-linear-gradient(#cc0000, #990000); } #addtrack,#deltrack { cursor: pointer; font-size: 20px; vertical-align: sub; -webkit-background-clip: text; -webkit-text-fill-color: transparent; } input[name="n"]::-moz-placeholder {background:#f0fdf0;font-size: 11px;} input[name="n"]::-webkit-input-placeholder {background:#f0fdf0;font-size: 11px;} input[name="n"]:-ms-input-placeholder {background:#f0fdf0;font-size: 11px;} input[name="u"]::-moz-placeholder {background:#ffffe0;font-size: 11px;} input[name="u"]::-webkit-input-placeholder {background:#ffffe0;font-size: 11px;} input[name="u"]:-ms-input-placeholder {background:#ffffe0;font-size: 11px;} input[name="c"]::-moz-placeholder {font-size: 11px;} input[name="c"]::-webkit-input-placeholder {font-size: 11px;} input[name="c"]:-ms-input-placeholder {font-size: 11px;} form#tr-list {max-height:600px;position: fixed;right: 30%;bottom: 15%;margin: 0 auto;overflow-y:auto;z-index: 9;} </style> <script type="text/javascript"> $('#form-buttons tr').append('<td id="form-audio" title="Музыка"><img src="/i/blank.gif"></td>');var fr='<form id="tr-list" class="container" autocomplete="off" style="display:none;min-width:40%;"><h1>Плейлист для плеера <i style="cursor: pointer;float: right;" class="material-icons" onclick="changeVisibility(\'tr-list\')" title="Закрыть">clear</i></h1><div class="a-box" style="text-align: center;"><p class="adsubmit"style="text-align: left;"><span data-i="1" class="adinput"><input type="text"maxlength="100" size="30" placeholder="Название трека (исполнитель)" name="n" pattern=".{2,}" required> <input type="url" pattern="https?://(.+){12,}" required maxlength="200"size="30" placeholder="http://Ссылка на аудиофайл" name="u"> <input type="url" maxlength="200" size="38" placeholder="http://Ссылка на изображение (неважно)" name="c" title="необязательно"><i class="material-icons" id="addtrack" title="добавить ещё один трек">add_circle_outline</i> <i class="material-icons" id="deltrack" title="удалить трек" onclick="var d=this.parentNode; d.parentNode.removeChild(d);">highlight_off</i></span></p><br><input type="submit" id="fin" value=" Готово " class="button"></div></form>';$('form#post').before(fr);$('#form-audio').on('click',function(){changeVisibility('tr-list');});var j=2;$('#addtrack').live('click',function(e){e.preventDefault();$(this).parents('.adinput').clone().attr('data-i',j++).appendTo('.adsubmit');});$('#tr-list').submit(function(e){e.preventDefault();var ss=$('#tr-list').serializeArray(),s=JSON.stringify(ss);s=s.replace(/\{"name":"n","value":"(.*?)"},{"name":"u","value":"(.*?)"},{"name":"c","value":"(.*?)"\}/g,'{n:"$1",u:"$2",c:"$3"}');s=s.replace(/\}\,/g,"},\n");insert('[player]'+s+'[/player]');changeVisibility('tr-list');}); $('div[id$="-content"] p:contains("[/player]")').map(function(){var ud=$(this).parent('.post-content').attr('id').split('-')[0];var txt=$(this).html();txt=txt.replace(/\[player\](\[\{n\:\".*?\"\,u\:\".*?\"\}\])\[\/player\]/gm,'<div id="r-'+ud+'"><div id="cover"><img height="86"width="86"align="left"src="http://forumstatic.ru/files/0012/72/15/53582.png"style="overflow: hidden; left: 0px; top: 0px; margin: 0px; max-width: none; max-height: none; border: medium none; line-height: 1; background-color: transparent; backface-visibility: hidden; width: 86px; height: 86px;filter: drop-shadow(0px 1px 3px DimGrey); -webkit-filter: drop-shadow(0px 1px 3px DimGrey); opacity: 1;"></div><button id="play"title="play/stop"></button><button id="prev"title="предыдущий"></button> <button id="next"title="следующий"></button><span class="volume"style="padding-right: 5px;"><input id="volume" min="0" max="10" value="5" type="range"step="1" title="громкость"></span><div id="timebox"><span id="duration">0.0</span> <input type="range" step="any" id="seekbar" value="0" max=""> <span id="end"></span><i id="plist"class="material-icons"style="cursor: pointer;margin-left: 5px;vertical-align: sub;"title="показать/скрыть плейлист">list</i></div><div id="action"></div><div id="track"></div><div id="pl" style="display:none">$1</div></div>');$(this).html(txt);var pt=$('#r-'+ud+' #pl').text();var audio=new Audio();var i=0;var playlist=(new Function('return '+pt+';')());if(!playlist){return;};audio.src=playlist[0].u;var t='<ul>'; for(var i=0,max=playlist.length;i<max;i++){var nm=playlist[i].n;var ur=playlist[i].u;var cov=playlist[i].c;var k=i+1;i<9?k='0'+k:k=k;t+='<li data-audio-url="'+ur+'" data-cover-src="'+cov+'">'+k+'. <img src="'+cov+'" height="16"width="16"> '+nm+'</li>';}t+='</ul>';$('#r-'+ud+' #track').append(t);audio.volume=0.5;$('#r-'+ud+' #volume').live('change keyup input',function(){audio.volume=parseFloat(this.value/10);if(this.value<=2){$('#r-'+ud+' .volume').css('background-position','0 0');} else if(this.value<=4){$('#r-'+ud+' .volume').css('background-position','0 -25px');}else if(this.value<=6){$('#r-'+ud+' .volume').css('background-position','0 -50px');} else{$('#r-'+ud+' .volume').css('background-position','0 -75px');};return false;});if(!sessionStorage['act']){sessionStorage['act']='stop';};function playAct(){sessionStorage['act']!='stop'?audio.play():audio.pause()};function listAct(){$('#r-'+ud+' #track li').each(function(){var a=$(this).data('audio-url');var b=audio.src;var ti=$(this).text();if(a.indexOf(b)!=-1){$(this).addClass('active').siblings('li').removeClass('active');$('#r-'+ud+' #action').text(ti);}});} function vinil(){var c=$('#r-'+ud+' li.active').data('cover-src');if(c=='undefined'||c==''){$('#r-'+ud+' #cover img').attr('src','http://forumstatic.ru/files/0012/72/15/53582.png').addClass('spin');}else{$('#r-'+ud+' #cover img').attr('src',c).removeClass('spin');}} $('#r-'+ud+' #play').live('click',function(){if(audio.paused){err();audio.play();sessionStorage['act']='play';listAct();vinil();$(this).css({'background-position':'0 -53px','filter':'drop-shadow(0px 1px 2px deepskyblue)','-webkit-filter':'drop-shadow(0px 1px 2px deepskyblue)'});}else{audio.pause();sessionStorage['act']='stop';$(this).css({'background-position':'0 -22px','filter':'none','-webkit-filter':'none'});$('#r-'+ud+' #cover img').removeClass('spin');$('#r-'+ud+' #action').text('');}});var seekbar=$('#r-'+ud+' #seekbar')[0];function setupSeekbar(){seekbar.max=audio.duration;var min=parseInt(audio.duration/60,10);var sec=parseInt(audio.duration%60);var endTime=min+'.'+sec;if(seekbar.max=='Infinity'){endTime='<i class="material-icons" style="font-size: 1.4em;vertical-align: sub;">all_inclusive</i>'};$('#r-'+ud+' #end').html(endTime);} audio.ondurationchange=setupSeekbar;audio.addEventListener('durationchange',setupSeekbar);audio.addEventListener('timeupdate',function(){var s=parseInt(audio.currentTime%60);var m=parseInt((audio.currentTime/60)%60);$('#r-'+ud+' #duration').html(m+'.'+s);$('#r-'+ud+' #seekbar').attr('max',audio.duration);$('#r-'+ud+' #seekbar').val(audio.currentTime);var p=Math.ceil((audio.currentTime/audio.duration)*100);$('#r-'+ud+' #seekbar').css({'height':'4px','background-image':'-webkit-linear-gradient(left, #6ac3d4 '+p+'%, #999 '+p+'%)','background-image':'linear-gradient(to right, #6ac3d4 '+p+'%, #999 '+p+'%)'});return false;});$('#r-'+ud+' #seekbar').live('change',function(){audio.currentTime=$(this).val();});$('#r-'+ud+' #next').live('click',function(){i=$('#r-'+ud+' #track').find('li.active').index();i=++i<playlist.length?i:0;audio.src=playlist[i].u;listAct();vinil();audio.currentTime=0;playAct();});$('#r-'+ud+' #prev').live('click',function(){i=$('#r-'+ud+' #track').find('li.active').index();i=--i>-1?i:playlist.length-1;audio.src=playlist[i].u;listAct();vinil();audio.currentTime=0;playAct();});$(audio).live('ended',function(){$('#r-'+ud+' #next').trigger('click');});$('#r-'+ud+' #track li').live('click',function(){audio.src=$(this).data('audio-url');listAct();playAct();$('#r-'+ud+' #play').trigger('click');});function err(){audio.addEventListener('error',function failed(e){switch(e.target.error.code){case e.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED:$.jGrowl('Утраченная ссылка на аудио. Или неподдерживаемый этим браузером формат');break;}},true);} $('#r-'+ud+' #plist').live('click',function(){$('#r-'+ud+' #track ul').slideToggle('slow');});}); </script>
Где хранить своё аудио:
проверенный способ это хранение в Dropbox, ссылки вставлять в плеер только после выпрямление через этот выпрямитель
нас интересует ссылка на скачивание
Поделиться607Сб, 26 Ноя 2016 15:38:30
Romych
Ну вообще фича крутая.. Только бы коды свернуть в подгружаемые файлы, а то код в объеме больше 10кб, займет много места в HTML низ (там лимит 64кб)
Поделиться608Сб, 26 Ноя 2016 16:54:15
Alex_63
а как свернуть в файл?
Поделиться609Сб, 26 Ноя 2016 17:07:20
Lidia-Lada
Ну самый простой способ - отдельно сохранить код скрипта (то что внутри <script>...</script> ) и стиля(то что в тегах <style>) в файлы в Блокноте соответственно с расширением .js и .css, далее залить в Админку - Файлы и вставить
<link rel="stylesheet" type="text/css" href="ссылка на файл стиля" />
<script type="text/javascript" src="ссылка на файл скрипта"></script>
Поделиться610Сб, 26 Ноя 2016 17:14:58
Romych
А можно плеер из "Мультитрекового плеера в постах" как-то вставить в объявление с уже заготовленым списком треков?
Отредактировано Lidia-Lada (Сб, 26 Ноя 2016 17:15:39)
Поделиться611Сб, 26 Ноя 2016 17:16:23
Lidia-Lada
Ни наю, с этим - ждите Ромыча, он автор скрипта, возможно он переделает код под вставку плеера в Объявление
Поделиться612Сб, 26 Ноя 2016 17:49:12
Romych
А можно плеер из "Мультитрекового плеера в постах" как-то вставить в объявление с уже заготовленым списком треков?
если не принципиально чтоб он выглядел так же как в постах, то ничего особо не переделывая можно вставить в Объявление радио плеер из темы - Радио на форум (HTML5)
они идентичны по свойствам, оба плеера работают с одинаковыми форматами, только в радиоплеере надо немного подправить стиль в последней части кода, то что жёлтым удалить
<div id="radio" style="position:fixed;left:22px;bottom:70px;z-index:20000;overflow-x:visible;width:171px;opacity: 0.9;text-align: center;"><div id="layer" style="position:absolute;height:100px;top:-2px;opacity: 0.6;width:170px;"></div><button id="pred" title="Предыдущая станция"> </button><button id="stop" title="Вкл/Выкл"></button><button id="sled" title="Следующая станция"></button><br>
<input id="zvyk" min="0" max="10" value="" type="range" step="1" title="Громкость"><br>
<button id="trk-list" title="Показать список станций"></button>
<div class="eq"><div class="b1"> </div><div class="b2"> </div><div class="b3"> </div></div><div id="tracks"></div></div>
строка песни в трек листе формируется из составляющих:
n - это имя, название (name)
u - это ссылка на аудио (url)
c - это обложка альбома, фото артиста группы (cover)
помещается всё что относится к одной песне в фигурные скобки {...} и перечисляется через запятую, кроме последней строки
{n:'Название песни 1', u:'Ссылка на mp3', c:'ссылка на обложку альбома (фото артиста, группы)'},
{n:'Песня 2', u:'http://mp3.stream.tb-group.fm/trb.mp3?/;.mp3', c:'http://www.webdesign-flash.ro/p/rap/content/thumbnails/small21.jpg'}
Поделиться613Сб, 26 Ноя 2016 17:52:40
Только бы коды свернуть в подгружаемые файлы, а то код в объеме больше 10кб, займет много места в HTML низ (там лимит 64кб)
учту, только боюсь сейчас будет несколько индивидуальных запросов на переделку внешнего вида плеера,
чтоб не править под каждый частный случай залитый файл подожду замечаний, пожеланий и рекомендаций от протестировавших
Поделиться614Сб, 26 Ноя 2016 18:57:31
Romych
завтра протестирую. В объявлении. Хотя внешний вид именно из плеера в постах понравился)
Вообще классная вещь! Респект!
Поделиться615Сб, 26 Ноя 2016 20:07:18
чтоб не править под каждый частный случай залитый файл подожду замечаний, пожеланий и рекомендаций от протестировавших
Ну кмк, скрипт в файле править проще и удобней... Ибо обновляется сразу у всех, а ведь может обнаружиться какой-нить трабл(или недочет) - не все сразу заменят скрипт на правленный.. (Ну а добавки - пожелания мон сделать отдельным кодом - дополнением, к примеру я так часто делаю)
Поделиться616Сб, 26 Ноя 2016 21:40:06
Все работает.Спасибо)
Отредактировано Armavel (Сб, 26 Ноя 2016 21:46:04)
Поделиться617Пн, 28 Ноя 2016 19:02:25
олько боюсь сейчас будет несколько индивидуальных запросов на переделку внешнего вида плеера
А варианты интерфейса плеера будут представлены публике?
Хотелось бы поменьше/поуже, пластинку, скажем, раза в два меньше, но если такие будут, классно было бы потом посмотреть.
За труд спасибо!
Поделиться618Пн, 28 Ноя 2016 22:16:46
там в стилях копалась. По идее такие вещи, как пластинка, ширины и высоты можно круутить как душе угодно)
и все же, можно в объявление запихнуть именно плеер из сприпта "Плеер в плейлистом"? Вещь очень класная со списком. Удобно.
Поделиться619Вт, 29 Ноя 2016 00:42:59
и все же, можно в объявление запихнуть именно плеер из сприпта "Плеер в плейлистом"?
да, можно в Объявление, можно на отдельной странице, как составлять плейлист я описал выше (пост №612)
<style type="text/css"> @font-face { font-family: 'Material Icons'; font-style: normal; font-weight: 400; src: local('Material Icons'), local('MaterialIcons-Regular'), url(https://fonts.gstatic.com/s/materialicons/v17/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format('woff2'), url('//forumstatic.ru/files/0017/d8/50/55034.woff') format('woff'), url('//forumstatic.ru/files/0017/d8/50/69630.ttf') format('truetype'); } .material-icons { font-family: 'Material Icons'; font-weight: normal; font-style: normal; font-size: 24px; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; word-wrap: normal; direction: ltr; -webkit-font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } #rad { background-color: #9f9f9f; border: 2px solid #59add4; background-image: -webkit-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0)); background-image: -moz-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0)); background-image: -ms-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0)); background-image: -o-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0)); background-image: linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0)); -moz-border-radius: 4px;border-radius: 4px;khtml-border-radius:4px;-webkit-border-radius:4px; -moz-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset; -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset; box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset; margin:3px;z-index:200;overflow:hidden;width:430px;opacity: 0.9; text-shadow: 0 1px 0 rgba(255,255,255,.4);font-weight: bold;padding: 10px; } #play {background: transparent url(//forumstatic.ru/files/0012/72/15/89476.png) no-repeat scroll 0 -22px; border: 0 none;cursor: pointer;display: block;float: left;height: 31px;left: 13px;margin: 7px;vertical-align: super;width: 31px;} #prev,#next {border: 0 none;cursor: pointer;height: 10px;margin-left: 9px;width: 21px; vertical-align: middle;} #prev {background: transparent url(//forumstatic.ru/files/0012/72/15/89476.png) no-repeat scroll 0 0;} #next {background: transparent url(//forumstatic.ru/files/0012/72/15/89476.png) no-repeat scroll 0 -11px;} #volume{-webkit-appearance:none;border-radius:4px;box-shadow:inset 0 0 1px#333; background-color:#999;cursor: pointer;height:4px;left: 40px;position: absolute;top: 9px;vertical-align: bottom;width:70px;} input[type='range']::-moz-range-progress {background:url(//papercraft.su/plate/img/plate_progress.png) repeat-x scroll 0 -45px;} input[type='range']::-moz-range-track{-moz-appearance:none;border-radius:4px;box-shadow:inset 0 0 1px#333;height:4px;} input[type='range']::-moz-range-thumb{-webkit-appearance:none !important; background: url(http://forumstatic.ru/files/0012/b1/41/89973.png) no-repeat scroll 0 0; border: 0; height: 19px; width:19px; cursor: pointer; filter: drop-shadow(3px 3px 7px slategrey); } input[type='range']::-webkit-slider-thumb{-webkit-appearance:none !important; background: url(http://forumstatic.ru/files/0012/b1/41/89973.png) no-repeat scroll 0 0; border:0;height:19px;width:19px;cursor: pointer;-webkit-filter: drop-shadow(3px 3px 7px slategrey); } #seekbar { -webkit-appearance:none !important;background: #999;border-radius:4px; box-shadow:inset 0 0 1px#333;height:4px;width: 160px; vertical-align: super;} .volume{background:url(//forumstatic.ru/files/0012/72/15/67036.png)no-repeat scroll 0-75px rgba(0,0,0,0);content:"";display:inline-block;height:25px;margin-top:0;position:relative;right:-5px;vertical-align:middle;width:25px;} button:focus, input:focus {outline:none;} #duration, #end {font-size: 0.8em; vertical-align: super;} #timebox {margin: 2px;} #track { font-size: 0.8em;overflow: hidden;padding: 5px; text-align: left;width: 420px;} #track li{cursor: pointer;} #track li:nth-child(odd) {background: #dadada;} #track li:nth-child(even) {background:#cdcdcd;} #track li.active {background:#bddeee;} .spin {-webkit-animation: spin 1.8s infinite linear;-moz-animation: spin 1.8s infinite linear;-o-animation: spin 1.8s infinite linear;animation: spin 1.8s infinite linear;} @-moz-keyframes spin { 0% {-moz-transform: rotate(0deg);} 100% {-moz-transform: rotate(359deg);} } @-webkit-keyframes spin { 0% {-webkit-transform: rotate(0deg);} 100% {-webkit-transform: rotate(359deg);} } @-o-keyframes spin { 0% {-o-transform: rotate(0deg);} 100% {-o-transform: rotate(359deg);} } @keyframes spin { 0% {-webkit-transform: rotate(0deg);transform: rotate(0deg);} 100% {-webkit-transform: rotate(359deg);transform: rotate(359deg);} } #action {color: #fffff0;display: inline-block;float: right;font-size: 15px;overflow: hidden;text-shadow: 0px 3px 2px rgba(150, 150, 150, 1);width: 250px;animation: marquee 15s linear infinite;} #action:hover {animation-play-state: paused} @-moz-keyframes marquee { 0% {-moz-transform: translate(0, 0);} 100% {-moz-transform: translate(-30%, 0);} } @-webkit-keyframes marquee { 0% {-webkit-transform: translate(0, 0);} 100% {-webkit-transform: translate(-30%, 0);} } @keyframes marquee { 0%{ transform: translate(0, 0); } 100% { transform: translate(-30%, 0); } } </style> <script type="text/javascript"> $(function() { var playlist = [ {n:'Nigger rap', u:'http://kolber.github.io/audiojs/demos/mp3/01-dead-wrong-intro.mp3'}, {n:'Radio 2', u:'http://ic3.101.ru:8000/v13_1?userid=0&setst=c90sm1ju2r53vof0v6q7cf8g75}'}, {n:'Soundgarden - My wave', u:'http://cdndl.zaycev.net/93892/1894598/soundgarden_-_my_wave.mp3', c:'http://www.guitaristka.ru/imagegallery/albums/userpics/10001/thumb_Soundgarden_003.jpg'}, {n:'Диcкач', u:'http://mp3.stream.tb-group.fm/trb.mp3?/;.mp3', c:'http://www.webdesign-flash.ro/p/rap/content/thumbnails/small21.jpg'} ]; var audio=new Audio();var i=0;if(!playlist){return;};audio.src=playlist[0].u; var t='<ul>';for(var i=0,max=playlist.length;i<max;i++){var nm=playlist[i].n;var ur=playlist[i].u;var cov=playlist[i].c;t+='<li data-audio-url="'+ur+'" data-cover-src="'+cov+'">'+(i+1)+'. <img src="'+cov+'" height="16"width="16"> '+nm+'</li>';} t+='</ul>';$('#track').append(t);audio.volume=0.5;$('#volume').on('change keyup input',function(){audio.volume=parseFloat(this.value/10);if(this.value<=2){$('.volume').css('background-position','0 0');} else if(this.value<=4){$('.volume').css('background-position','0 -25px');}else if(this.value<=6){$('.volume').css('background-position','0 -50px');} else{$('.volume').css('background-position','0 -75px');};return false;});if(!sessionStorage['act']){sessionStorage['act']='stop';};function playAct(){sessionStorage['act']!='stop'?audio.play():audio.pause()};function listAct(){$('#track li').each(function(){var a=$(this).data('audio-url');var b=audio.src;var ti=$(this).text();if(a.indexOf(b)!=-1){$(this).addClass('active').siblings('li').removeClass('active');$('#action').text(ti);}});} function vinil(){var c=$('li.active').data('cover-src');if(c=='undefined'||c==''){$('#cover img').attr('src','http://forumstatic.ru/files/0012/72/15/53582.png').addClass('spin');}else{$('#cover img').attr('src',c).removeClass('spin');}} $('#play').on('click',function(){if(audio.paused){err();audio.play();sessionStorage['act']='play';listAct();vinil();$(this).css({'background-position':'0 -53px','filter':'drop-shadow(0px 1px 2px deepskyblue)','-webkit-filter':'drop-shadow(0px 1px 2px deepskyblue)'});}else{audio.pause();sessionStorage['act']='stop';$(this).css({'background-position':'0 -22px','filter':'none','-webkit-filter':'none'});$('#cover img').removeClass('spin');$('#action').text('');}});var seekbar=$('#seekbar')[0];function setupSeekbar(){seekbar.max=audio.duration;var min=parseInt(audio.duration/60,10);var sec=parseInt(audio.duration%60);var endTime=min+'.'+sec;if(seekbar.max=='Infinity'){endTime='<i class="material-icons" style="font-size: 1.4em;vertical-align: sub;">all_inclusive</i>'};$('#end').html(endTime);} audio.ondurationchange=setupSeekbar;audio.addEventListener('durationchange',setupSeekbar);audio.addEventListener('timeupdate',function(){var s=parseInt(audio.currentTime%60);var m=parseInt((audio.currentTime/60)%60);$('#duration').html(m+'.'+s);$('#seekbar').attr('max',audio.duration);$('#seekbar').val(audio.currentTime);var p=Math.ceil((audio.currentTime/audio.duration)*100);$('#seekbar').css({'height':'4px','background-image':'-webkit-linear-gradient(left, #6ac3d4 '+p+'%, #999 '+p+'%)','background-image':'linear-gradient(to right, #6ac3d4 '+p+'%, #999 '+p+'%)'});return false;});$('#seekbar').on('change',function(){audio.currentTime=$(this).val();});$('#next').on('click',function(){i=$('#track').find('li.active').index();i=++i<playlist.length?i:0;audio.src=playlist[i].u;listAct();vinil();audio.currentTime=0;playAct();});$('#prev').on('click',function(){i=$('#track').find('li.active').index();i=--i>-1?i:playlist.length-1;audio.src=playlist[i].u;listAct();vinil();audio.currentTime=0;playAct();});$(audio).live('ended',function(){$('#next').trigger('click');});$('#track li').on('click',function(){audio.src=$(this).data('audio-url');listAct();playAct();$('#play').trigger('click');}); function err(){audio.addEventListener('error',function failed(e){switch(e.target.error.code){case e.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED:$.jGrowl('Утраченная ссылка на аудио. Или неподдерживаемый этим браузером формат');break;}},true);} $('#plist').on('click',function(){$('#track ul').slideToggle('slow');}); }); </script> <div id="rad"> <div id="cover"> <img height="86" width="86" align="left" src="http://forumstatic.ru/files/0012/72/15/53582.png"style="overflow: hidden; left: 0px; top: 0px; margin: 0px; max-width: none; max-height: none; border: medium none; line-height: 1; background-color: transparent; backface-visibility: hidden; width: 86px; height: 86px;filter: drop-shadow(0px 1px 3px DimGrey); -webkit-filter: drop-shadow(0px 1px 3px DimGrey); opacity: 1;"> </div> <button id="play"title="play/stop"></button><button id="prev"title="предыдущий"></button> <button id="next"title="следующий"></button><span class="volume"style="padding-right: 5px;"><input id="volume" min="0" max="10" value="5" type="range"step="1" title="громкость"></span><div id="timebox"><span id="duration">0.0</span> <input type="range" step="any" id="seekbar" value="0" max=""> <span id="end"></span><i id="plist"class="material-icons"style="cursor: pointer;margin-left: 5px;vertical-align: sub;"title="показать/скрыть плейлист">list</i></div><div id="action"></div> <div id="track"></div></div>
Хотелось бы поменьше/поуже, пластинку, скажем, раза в два меньше, но если такие будут, классно было бы потом посмотреть.
можно конечно, только если уменьшить размер пластинки, размер обложек соответственно тоже уменьшится,
если такой вариант устраивает, то могу сделать более компактный вариант стиля, впрочем вы и сами можете экспериментировать, никто вас в этом не ограничивает
Поделиться620Вт, 29 Ноя 2016 01:59:17
Где брать ссылки на аудио
А с облака мейл или яндекса считывать медиафайл есть варианты? Бо как все таки критично людям самим заливать и выкладывать, а вариантов куда залить почти не осталось..