meplayer.min.js 9.7 KB

1
  1. !function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){(function(t){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}var i=function(){function e(e,t){var r=[],n=!0,i=!1,a=void 0;try{for(var l,s=e[Symbol.iterator]();!(n=(l=s.next()).done)&&(r.push(l.value),!t||r.length!==t);n=!0);}catch(o){i=!0,a=o}finally{try{!n&&s["return"]&&s["return"]()}finally{if(i)throw a}}return r}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l=r(1),s=r(2),o=n(s),c=r(3),u=n(c),d=r(4),p=n(d),m=r(5),y=n(m),v="object"==("undefined"==typeof window?"undefined":a(window))&&window.window===window?window:"object"==("undefined"==typeof t?"undefined":a(t))&&t.global===t?t:void 0;v.mePlayer=function(e){function t(){N.addEventListener("ended",r),N.addEventListener("canplaythrough",n),N.addEventListener("durationchange",a),N.addEventListener("timeupdate",s),j.addEventListener("click",c),D.addEventListener("click",d)}function r(){S?N.play():u.removeClass(A,"meplayer-isplaying")}function n(){M=this.duration,setTimeout(function(){u.removeClass(A,"meplayer-isloading"),I.querySelector(".meplayer-duration-text").innerText=u.parseSec(M.toFixed(0))},1e3)}function a(){M=this.duration}function s(){var e=N.currentTime,t=N.currentTime.toFixed(3),r=100*(e/M);if(P.style.width=r.toFixed(2)+"%",F.innerText=u.parseSec(e),x&&T===l.THEME_DEFAULT){var n=o.currentIndex(t),i=O.querySelectorAll("p"),a=i[n-1],s=i[n],c=i[n+1];s.className.includes("meplayer-lyric-current")||(u.removeClass(O.querySelector(".meplayer-lyric-current"),"meplayer-lyric-current"),O.querySelector(".meplayer-lyric-pre")&&u.removeClass(O.querySelector(".meplayer-lyric-pre"),"meplayer-lyric-pre"),O.querySelector(".meplayer-lyric-next")&&u.removeClass(O.querySelector(".meplayer-lyric-next"),"meplayer-lyric-next"),u.addClass(s,"meplayer-lyric-current"),a&&u.addClass(a,"meplayer-lyric-pre"),c&&u.addClass(c,"meplayer-lyric-next"),O.style.webkitTransform="translateY(-"+20*n+"px)",O.style.transform="translateY(-"+20*n+"px)")}}function c(){var e;N.paused?(N.play(),T!==l.THEME_DEFAULT||x||p.draw(),A.addEventListener("mousewheel",function(){var t=null,r=.05;return e=function(e){t&&clearTimeout(t),A.className.includes("meplayer-adjusting-volume")||u.addClass(A,"meplayer-adjusting-volume"),e.wheelDeltaY<0&&N.volume>r&&(N.volume-=r),e.wheelDeltaY>0&&N.volume<1-r&&(N.volume+=r),T===l.THEME_DEFAULT?U.style.width=100*N.volume+"%":R.querySelector("i").style.opacity=N.volume,e.preventDefault(),t=setTimeout(function(){u.removeClass(A,"meplayer-adjusting-volume")},1e3)}}())):(N.pause(),p.stop(),A.removeEventListener("mousewheel",e)),u.toggleClass(A,"meplayer-isplaying")}function d(){var e=(event.pageX-u.getAbsLeft(this))/this.offsetWidth;P.style.width=100*e+"%",N.currentTime=(e*M).toFixed(0)}function m(){N.paused&&(u.addClass(A,"meplayer-isplaying"),N.play())}function f(){N.paused||(u.removeClass(A,"meplayer-isplaying"),N.pause())}function g(){function e(){r++,A.style.opacity-=t,A.style.opacity<=0&&(t*=-1,A.style.opacity=0,u.toggleClass(A,"meplayer-container-mini"),u.toggleClass(A,"meplayer-container")),A.style.opacity<1&&r<n?requestAnimationFrame(e):setTimeout(function(){u.removeClass(A,"meplayer-changing-theme")},500)}var t=.03,r=0,n=200;u.addClass(A,"meplayer-changing-theme"),T=T===l.THEME_DEFAULT?l.THEME_MINI:l.THEME_DEFAULT,e()}if(!e.music||!e.music.src)return void console.error("必须指定音乐地址哦~");var h=e.music,E=y.$(e.target)||document.querySelector(".meplayer"),T=e.theme||l.THEME_DEFAULT,x=!!h.lrc,L=h.cover||"https://unsplash.it/78/?random",S=h.loop||!1,w=e.autoplay,C=T===l.THEME_DEFAULT?"meplayer-container":"meplayer-container-mini",_=C+" "+(x?"meplayer-haslrc":"")+" meplayer-isloading",b='<div class="'+_+'">\n <audio src='+h.src+' preload="auto"></audio>\n <div class="meplayer-info">\n <div class="meplayer-info-cover"><img src='+L+' alt="cd-cover"></div>\n <div class="meplayer-meta">\n <div class="meplayer-meta-title">'+h.title+'</div>\n <div class="meplayer-meta-author">'+h.author+'</div>\n <div class="meplayer-meta-time-tick"><span class="meplayer-meta-time-tick-text"></span></div>\n </div>\n </div>\n <canvas class="meplayer-spectrum"></canvas>\n <div class="meplayer-lyric"><div class="meplayer-lyric-area"></div></div>\n <div class="meplayer-control"><div class="meplayer-control-play"><i class="icon-play"></i><i class="icon-pause"></i></div></div>\n <div class="meplayer-volume-bg"><div class="meplayer-volume"><i class="icon-volume"></i><div class="meplayer-volume-progress"></div></div></div>\n <div class="meplayer-duration"><i class="icon-clock"></i><span class="meplayer-duration-text">loading</span></div>\n <div class="meplayer-loadingsign"><i class="icon-spin animate-spin"></i>loading</div>\n <div class="meplayer-timeline-bg"><div class="meplayer-timeline"><div class="meplayer-timeline-passed"></div></div></div>\n </div>';E.innerHTML=b;var M,A=E.querySelector("."+C),q=y.init(A).select(["audio",".meplayer-control-play",".meplayer-meta-time-tick-text",".meplayer-duration",".meplayer-timeline",".meplayer-timeline-passed",".meplayer-volume",".meplayer-volume-progress",".meplayer-lyric-area",".meplayer-spectrum"]),H=i(q,10),N=H[0],j=H[1],F=H[2],I=H[3],D=H[4],P=H[5],R=H[6],U=H[7],O=H[8],Y=H[9];x?o.parse(h.lrc).renderTo(O):p.init(Y),t(),w&&c(),v.mePlayer={play:m,pause:f,toggleTheme:g}},"undefined"!=typeof e&&"undefined"!=typeof e.exports&&(e.exports=v.mePlayer)}).call(t,function(){return this}())},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="default",n="mini",i="meplayer-lyric-current",a="meplayer-lyric-next";t.THEME_DEFAULT=r,t.THEME_MINI=n,t.LYRIC_CURRENT_CLASS=i,t.LYRIC_NEXT_CLASS=a},function(e,t,r){"use strict";function n(e){for(var t=e.split("\n"),r=[],n=t.length,i=/\[(\d{2}):(\d{2})\.(\d{2,3})]/g,a=/\[(\d{2}):(\d{2})\.(\d{2,3})]/,s=0;s<n;s++){var o=t[s].match(i),c=t[s].replace(i,"").replace(/^\s+|\s+$/g,"");if(c&&null!=o)for(var u=o.length,d=0;d<u;d++){var p=a.exec(o[d]),m=60*p[1]+parseInt(p[2])+parseInt(p[3])/(2===(p[3]+"").length?100:1e3);r.push({time:m,text:c})}}return r.sort(function(e,t){return e.time-t.time}),l=r,this}function i(e){if(!l)return void console.error("未指定歌词文本!");for(var t="",r=0;r<l.length;r++)t+="<p>"+l[r].text+"</p>";return e.innerHTML=t,e.querySelector("p").className=s.LYRIC_CURRENT_CLASS,e.querySelector("p + p").className=s.LYRIC_NEXT_CLASS,this}function a(e){if(e<l[0].time)return 0;for(var t=0,r=l.length;t<r&&!(e>=l[t].time&&(!l[t+1]||e<=l[t+1].time));t++);return t}Object.defineProperty(t,"__esModule",{value:!0}),t.currentIndex=t.renderTo=t.parse=void 0;var l,s=r(1);t.parse=n,t.renderTo=i,t.currentIndex=a},function(e,t){"use strict";function r(e,t){if(e.classList)e.classList.toggle(t);else{var r=e.className.split(" "),n=r.indexOf(t);n>=0?r.splice(n,1):r.push(t),e.className=r.join(" ")}}function n(e,t){e.classList?e.classList.add(t):e.className+=" "+t}function i(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp("(^|\\b)"+t.split(" ").join("|")+"(\\b|$)","gi")," ")}function a(e){for(var t=e.offsetLeft;e.offsetParent;)e=e.offsetParent,t+=e.offsetLeft;return t}function l(e){var t=e/60|0,r=e%60|0,n=t<10?"0"+t:t,i=r<10?"0"+r:r;return n+":"+i}Object.defineProperty(t,"__esModule",{value:!0}),t.toggleClass=r,t.addClass=n,t.removeClass=i,t.getAbsLeft=a,t.parseSec=l},function(e,t){"use strict";function r(){return p()>.8?8*p()+11:6*p()+2}function n(){o.clearRect(0,-s.height/2,s.width,s.height);for(var e=0;e<c.length;e++){var t=c[e],r=t.getHeight();o.fillRect(e+c[e].xSpace,-r/2,c[e].width,r)}u||(d=requestAnimationFrame(n))}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:220,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#D94240";s=e,s.width=t,s.height=n,o=s.getContext("2d"),o.fillStyle=i,o.translate(0,n/2);for(var a=0;a<64;a++){var l=0==a?0:5*a,u={xSpace:l,width:1,getHeight:m(r())};c.push(u)}}function a(){u=!1,n()}function l(){u=!0}Object.defineProperty(t,"__esModule",{value:!0});var s,o,c=[],u=!1,d=null,p=Math.random,m=function(e){var t,r=1.5*e>28?28:1.5*e,n=1,i=p()>.5?1:-1,a=e;return function(){return t=i,a+=t,a>=r?(i*=-1,a=r):a<=n&&(i*=-1,a=n),p()>.9&&(i*=-1),a}};t.init=i,t.draw=a,t.stop=l},function(e,t){"use strict";function r(e){return a=i(e),this}function n(e){var t;if(Array.isArray(e)){var r=[],n=!0,l=!1,s=void 0;try{for(var o,c=e[Symbol.iterator]();!(n=(o=c.next()).done);n=!0){var u=o.value;r.push(i(u,a))}}catch(d){l=!0,s=d}finally{try{!n&&c["return"]&&c["return"]()}finally{if(l)throw s}}t=r}else t=i(e,a);return t}function i(e,t){var r;return t=t||document,"string"==typeof e?r=t.querySelector(e):e.toString().includes("HTMLDivElement")&&(r=e),r}Object.defineProperty(t,"__esModule",{value:!0});var a;t.init=r,t.select=n,t.$=i}]);