From 6deeacd374aaf025b7435f23092e674207f48390 Mon Sep 17 00:00:00 2001
From: DIYgod \n ",s(r.audio,function(e,n){t+='\n
\n",t+=o(e[1]),t+="
';\n $$out += $escape($value[1]);\n $$out += '
\\n';\n });\n return $$out;\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nvar _icons = __webpack_require__(2);\nvar _icons2 = _interopRequireDefault(_icons);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Controller = function () {\n function Controller(player) {\n _classCallCheck(this, Controller);\n this.player = player;\n this.initPlayButton();\n this.initList();\n this.initPlayBar();\n if (this.player.isMultiple()) {\n this.initOrderButton();\n }\n this.initLoopButton();\n this.initMenuButton();\n if (!_utils2.default.isMobile) {\n this.initVolumeButton();\n }\n }\n _createClass(Controller, [\n {\n key: 'initPlayButton',\n value: function initPlayButton() {\n var _this = this;\n this.player.template.pic.addEventListener('click', function () {\n _this.player.toggle();\n });\n }\n },\n {\n key: 'initList',\n value: function initList() {\n var _this2 = this;\n this.player.template.list.addEventListener('click', function (e) {\n var target = void 0;\n if (e.target.tagName.toUpperCase() === 'LI') {\n target = e.target;\n } else {\n target = e.target.parentElement;\n }\n var audioIndex = parseInt(target.getElementsByClassName('aplayer-list-index')[0].innerHTML) - 1;\n if (audioIndex !== _this2.player.playIndex) {\n _this2.player.switchAudio(audioIndex);\n _this2.player.play();\n } else {\n _this2.player.toggle();\n }\n });\n }\n },\n {\n key: 'initPlayBar',\n value: function initPlayBar() {\n var _this3 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this3.player.template.barWrap)) / _this3.player.template.barWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this3.player.bar.set('played', percentage, 'width');\n _this3.player.lrc && _this3.player.lrc.update(percentage * _this3.player.audio.duration);\n _this3.player.template.ptime.innerHTML = _utils2.default.secondToTime(percentage * _this3.player.audio.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this3.player.template.barWrap)) / _this3.player.template.barWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this3.player.bar.set('played', percentage, 'width');\n _this3.player.seek(_this3.player.bar.get('played', 'width') * _this3.player.audio.duration);\n _this3.player.timer.enable('progress');\n };\n this.player.template.barWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n _this3.player.timer.disable('progress');\n document.addEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this4 = this;\n this.player.template.volumeButton.addEventListener('click', function () {\n if (_this4.player.audio.muted) {\n _this4.player.audio.muted = false;\n _this4.player.switchVolumeIcon();\n _this4.player.bar.set('volume', _this4.player.volume(), 'height');\n } else {\n _this4.player.audio.muted = true;\n _this4.player.switchVolumeIcon();\n _this4.player.bar.set('volume', 0, 'height');\n }\n });\n var thumbMove = function thumbMove(e) {\n var percentage = 1 - ((e.clientY || e.changedTouches[0].clientY) - _utils2.default.getElementViewTop(_this4.player.template.volumeBar)) / _this4.player.template.volumeBar.clientHeight;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.volume(percentage);\n };\n var thumbUp = function thumbUp(e) {\n _this4.player.template.volumeBarWrap.classList.remove('aplayer-volume-bar-wrap-active');\n document.removeEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n var percentage = 1 - ((e.clientY || e.changedTouches[0].clientY) - _utils2.default.getElementViewTop(_this4.player.template.volumeBar)) / _this4.player.template.volumeBar.clientHeight;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.volume(percentage);\n };\n this.player.template.volumeBarWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n _this4.player.template.volumeBarWrap.classList.add('aplayer-volume-bar-wrap-active');\n document.addEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n });\n }\n },\n {\n key: 'initOrderButton',\n value: function initOrderButton() {\n var _this5 = this;\n this.player.template.order.addEventListener('click', function () {\n if (_this5.player.options.order === 'list') {\n _this5.player.options.order = 'random';\n _this5.player.template.order.innerHTML = _icons2.default.orderRandom;\n } else if (_this5.player.options.order === 'random') {\n _this5.player.options.order = 'list';\n _this5.player.template.order.innerHTML = _icons2.default.orderList;\n }\n });\n }\n },\n {\n key: 'initLoopButton',\n value: function initLoopButton() {\n var _this6 = this;\n this.player.template.loop.addEventListener('click', function () {\n if (_this6.player.isMultiple()) {\n if (_this6.player.options.loop === 'one') {\n _this6.player.options.loop = 'none';\n _this6.player.template.loop.innerHTML = _icons2.default.loopNone;\n } else if (_this6.player.options.loop === 'none') {\n _this6.player.options.loop = 'all';\n _this6.player.template.loop.innerHTML = _icons2.default.loopAll;\n } else if (_this6.player.options.loop === 'all') {\n _this6.player.options.loop = 'one';\n _this6.player.template.loop.innerHTML = _icons2.default.loopOne;\n }\n } else {\n if (_this6.player.options.loop === 'one' || _this6.player.options.loop === 'all') {\n _this6.player.options.loop = 'none';\n _this6.player.template.loop.innerHTML = _icons2.default.loopNone;\n } else if (_this6.player.options.loop === 'none') {\n _this6.player.options.loop = 'all';\n _this6.player.template.loop.innerHTML = _icons2.default.loopAll;\n }\n }\n });\n }\n },\n {\n key: 'initMenuButton',\n value: function initMenuButton() {\n var _this7 = this;\n this.player.template.list.style.height = 33 * this.player.options.audio.length - 1 + 'px';\n this.player.template.menu.addEventListener('click', function () {\n if (!_this7.player.template.list.classList.contains('aplayer-list-hide')) {\n _this7.player.template.list.classList.add('aplayer-list-hide');\n } else {\n _this7.player.template.list.classList.remove('aplayer-list-hide');\n }\n });\n }\n }\n ]);\n return Controller;\n}();\nexports.default = Controller;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Timer = function () {\n function Timer(player) {\n _classCallCheck(this, Timer);\n this.player = player;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n this.types = [\n 'loading',\n 'progress'\n ];\n this.init();\n }\n _createClass(Timer, [\n {\n key: 'init',\n value: function init() {\n var _this = this;\n this.types.map(function (item) {\n _this['init' + item + 'Checker']();\n return item;\n });\n }\n },\n {\n key: 'initprogressChecker',\n value: function initprogressChecker() {\n var _this2 = this;\n this.progressChecker = setInterval(function () {\n if (_this2.enableprogressChecker) {\n _this2.player.bar.set('played', _this2.player.audio.currentTime / _this2.player.audio.duration, 'width');\n _this2.player.lrc && _this2.player.lrc.update();\n var currentTime = _utils2.default.secondToTime(_this2.player.audio.currentTime);\n if (_this2.player.template.ptime.innerHTML !== currentTime) {\n _this2.player.template.ptime.innerHTML = currentTime;\n }\n }\n }, 100);\n }\n },\n {\n key: 'initloadingChecker',\n value: function initloadingChecker() {\n var _this3 = this;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.loadingChecker = setInterval(function () {\n if (_this3.enableloadingChecker) {\n currentPlayPos = _this3.player.audio.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this3.player.audio.paused) {\n _this3.player.container.classList.add('aplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this3.player.audio.paused) {\n _this3.player.container.classList.remove('aplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }\n }, 100);\n }\n },\n {\n key: 'enable',\n value: function enable(type) {\n this['enable' + type + 'Checker'] = true;\n if (type === 'fps') {\n this.initfpsChecker();\n }\n }\n },\n {\n key: 'disable',\n value: function disable(type) {\n this['enable' + type + 'Checker'] = false;\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n var _this4 = this;\n this.types.map(function (item) {\n _this4['enable' + item + 'Checker'] = false;\n _this4[item + 'Checker'] && clearInterval(_this4[item + 'Checker']);\n return item;\n });\n }\n }\n ]);\n return Timer;\n}();\nexports.default = Timer;\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.audioEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'destroy',\n 'switchaudio',\n 'addaudio',\n 'removeaudio'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, info) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](info);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.audioEvents.indexOf(name) !== -1) {\n return 'audio';\n }\n console.error('Unknown event name: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nexports.default = Events;\n\n/***/ })\n/******/ ])[\"default\"];\n});\n\n\n// WEBPACK FOOTER //\n// APlayer.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap e40d0520cf9b07d68ca4","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n } else {\n return Array.from(arr);\n }\n}\nvar isMobile = /mobile/i.test(window.navigator.userAgent);\nvar utils = {\n secondToTime: function secondToTime(second) {\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var hour = Math.floor(second / 3600);\n var min = Math.floor((second - hour * 3600) / 60);\n var sec = Math.floor(second - hour * 3600 - min * 60);\n return (hour > 0 ? [\n hour,\n min,\n sec\n ] : [\n min,\n sec\n ]).map(add0).join(':');\n },\n getElementViewLeft: function getElementViewLeft(element) {\n var actualLeft = element.offsetLeft;\n var current = element.offsetParent;\n var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n while (current !== null) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n } else {\n while (current !== null && current !== element) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n }\n return actualLeft - elementScrollLeft;\n },\n getElementViewTop: function getElementViewTop(element) {\n var actualTop = element.offsetTop;\n var current = element.offsetParent;\n var elementScrollTop = 0;\n while (current !== null) {\n actualTop += current.offsetTop;\n current = current.offsetParent;\n }\n elementScrollTop = document.body.scrollTop + document.documentElement.scrollTop;\n return actualTop - elementScrollTop;\n },\n isMobile: isMobile,\n storage: {\n set: function set(key, value) {\n localStorage.setItem(key, value);\n },\n get: function get(key) {\n return localStorage.getItem(key);\n }\n },\n nameMap: {\n dragStart: isMobile ? 'touchstart' : 'mousedown',\n dragMove: isMobile ? 'touchmove' : 'mousemove',\n dragEnd: isMobile ? 'touchend' : 'mouseup'\n },\n randomOrder: function randomOrder() {\n var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined.options.audio.length;\n function shuffle(arr) {\n for (var i = arr.length - 1; i >= 0; i--) {\n var randomIndex = Math.floor(Math.random() * (i + 1));\n var itemAtIndex = arr[randomIndex];\n arr[randomIndex] = arr[i];\n arr[i] = itemAtIndex;\n }\n return arr;\n }\n return shuffle([].concat(_toConsumableArray(Array(length))).map(function (item, i) {\n return i;\n }));\n }\n};\nexports.default = utils;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/utils.js\n// module id = 0\n// module chunks = 0","'use strict';\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar g;\ng = function () {\n return this;\n}();\ntry {\n g = g || Function('return this')() || (1, eval)('this');\n} catch (e) {\n if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object')\n g = window;\n}\nmodule.exports = g;\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 1\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _play = require('../assets/play.svg');\nvar _play2 = _interopRequireDefault(_play);\nvar _pause = require('../assets/pause.svg');\nvar _pause2 = _interopRequireDefault(_pause);\nvar _volumeUp = require('../assets/volume-up.svg');\nvar _volumeUp2 = _interopRequireDefault(_volumeUp);\nvar _volumeDown = require('../assets/volume-down.svg');\nvar _volumeDown2 = _interopRequireDefault(_volumeDown);\nvar _volumeOff = require('../assets/volume-off.svg');\nvar _volumeOff2 = _interopRequireDefault(_volumeOff);\nvar _orderRandom = require('../assets/order-random.svg');\nvar _orderRandom2 = _interopRequireDefault(_orderRandom);\nvar _orderList = require('../assets/order-list.svg');\nvar _orderList2 = _interopRequireDefault(_orderList);\nvar _menu = require('../assets/menu.svg');\nvar _menu2 = _interopRequireDefault(_menu);\nvar _loopAll = require('../assets/loop-all.svg');\nvar _loopAll2 = _interopRequireDefault(_loopAll);\nvar _loopOne = require('../assets/loop-one.svg');\nvar _loopOne2 = _interopRequireDefault(_loopOne);\nvar _loopNone = require('../assets/loop-none.svg');\nvar _loopNone2 = _interopRequireDefault(_loopNone);\nvar _loading = require('../assets/loading.svg');\nvar _loading2 = _interopRequireDefault(_loading);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nvar Icons = {\n play: _play2.default,\n pause: _pause2.default,\n volumeUp: _volumeUp2.default,\n volumeDown: _volumeDown2.default,\n volumeOff: _volumeOff2.default,\n orderRandom: _orderRandom2.default,\n orderList: _orderList2.default,\n menu: _menu2.default,\n loopAll: _loopAll2.default,\n loopOne: _loopOne2.default,\n loopNone: _loopNone2.default,\n loading: _loading2.default\n};\nexports.default = Icons;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/icons.js\n// module id = 2\n// module chunks = 0","'use strict';\nmodule.exports = require('./compile/runtime');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/art-template/lib/runtime.js\n// module id = 3\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nrequire('../css/index.scss');\nvar _player = require('./player');\nvar _player2 = _interopRequireDefault(_player);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nconsole.log('\\n' + ' %c APlayer v' + APLAYER_VERSION + ' ' + GIT_HASH + ' %c http://aplayer.js.org ' + '\\n' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nexports.default = _player2.default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/index.js\n// module id = 4\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _promisePolyfill = require('promise-polyfill');\nvar _promisePolyfill2 = _interopRequireDefault(_promisePolyfill);\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nvar _options = require('./options');\nvar _options2 = _interopRequireDefault(_options);\nvar _template = require('./template');\nvar _template2 = _interopRequireDefault(_template);\nvar _bar = require('./bar');\nvar _bar2 = _interopRequireDefault(_bar);\nvar _user = require('./user');\nvar _user2 = _interopRequireDefault(_user);\nvar _lrc = require('./lrc');\nvar _lrc2 = _interopRequireDefault(_lrc);\nvar _controller = require('./controller');\nvar _controller2 = _interopRequireDefault(_controller);\nvar _timer = require('./timer');\nvar _timer2 = _interopRequireDefault(_timer);\nvar _events = require('./events');\nvar _events2 = _interopRequireDefault(_events);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar instances = [];\nvar APlayer = function () {\n function APlayer(options) {\n _classCallCheck(this, APlayer);\n this.options = (0, _options2.default)(options);\n this.container = this.options.container;\n this.playIndex = 0;\n this.paused = true;\n this.playedPromise = _promisePolyfill2.default.resolve();\n this.randomOrder = _utils2.default.randomOrder(this.options.audio.length);\n this.container.classList.add('aplayer');\n if (this.options.lrc) {\n this.container.classList.add('aplayer-withlrc');\n }\n if (this.options.audio.length > 1) {\n this.container.classList.add('aplayer-withlist');\n }\n if (_utils2.default.isMobile) {\n this.container.classList.add('aplayer-mobile');\n }\n this.arrow = this.container.offsetWidth <= 300;\n if (this.arrow) {\n this.container.classList.add('aplayer-arrow');\n }\n if (this.options.mini) {\n this.container.classList.add('aplayer-narrow');\n }\n this.container = this.options.container;\n if (this.options.lrc === 2 || this.options.lrc === true) {\n var lrcEle = this.container.getElementsByClassName('aplayer-lrc-content');\n for (var i = 0; i < lrcEle.length; i++) {\n if (this.options.audio[i]) {\n this.options.audio[i].lrc = lrcEle[i].innerHTML;\n }\n }\n }\n this.template = new _template2.default({\n container: this.container,\n options: this.options,\n randomOrder: this.randomOrder\n });\n if (this.template.info.offsetWidth < 200) {\n this.template.time.classList.add('aplayer-time-narrow');\n }\n if (this.options.lrc) {\n this.lrc = new _lrc2.default({\n container: this.template.lrc,\n async: this.options.lrc === 3,\n content: this.options.audio.map(function (item) {\n return item.lrc;\n }),\n player: this\n });\n }\n this.events = new _events2.default();\n this.user = new _user2.default(this);\n this.bar = new _bar2.default(this.template);\n this.controller = new _controller2.default(this);\n this.timer = new _timer2.default(this);\n this.initAudio();\n if (this.options.order === 'random') {\n this.switchAudio(this.randomOrder[0]);\n } else {\n this.switchAudio(0);\n }\n if (this.options.autoplay) {\n this.play();\n }\n instances.push(this);\n }\n _createClass(APlayer, [\n {\n key: 'initAudio',\n value: function initAudio() {\n var _this = this;\n this.audio = document.createElement('audio');\n this.audio.preload = this.options.preload;\n var _loop = function _loop(i) {\n _this.audio.addEventListener(_this.events.audioEvents[i], function () {\n _this.events.trigger(_this.events.audioEvents[i]);\n });\n };\n for (var i = 0; i < this.events.audioEvents.length; i++) {\n _loop(i);\n }\n this.on('play', function () {\n if (_this.paused) {\n _this.play();\n }\n });\n this.on('pause', function () {\n if (!_this.paused) {\n _this.pause();\n }\n });\n this.on('durationchange', function () {\n if (_this.audio.duration !== 1) {\n _this.template.dtime.innerHTML = _utils2.default.secondToTime(_this.audio.duration);\n }\n });\n this.on('progress', function () {\n var percentage = _this.audio.buffered.length ? _this.audio.buffered.end(_this.audio.buffered.length - 1) / _this.audio.duration : 0;\n _this.bar.set('loaded', percentage, 'width');\n });\n this.on('error', function () {\n _this.template.author.innerHTML = ' - Error happens \\u2565﹏\\u2565';\n });\n this.on('ended', function () {\n if (_this.options.loop === 'none') {\n if (_this.options.order === 'list') {\n if (_this.playIndex < _this.options.audio.length - 1) {\n _this.switchAudio((_this.playIndex + 1) % _this.options.audio.length);\n _this.play();\n } else {\n _this.switchAudio((_this.playIndex + 1) % _this.options.audio.length);\n _this.pause();\n }\n } else if (_this.options.order === 'random') {\n if (_this.randomOrder.indexOf(_this.playIndex) < _this.randomOrder.length - 1) {\n _this.switchAudio(_this.nextRandomNum());\n _this.play();\n } else {\n _this.switchAudio(_this.nextRandomNum());\n _this.pause();\n }\n }\n } else if (_this.options.loop === 'one') {\n _this.switchAudio(_this.playIndex);\n _this.play();\n } else if (_this.options.loop === 'all') {\n if (_this.options.order === 'list') {\n _this.switchAudio((_this.playIndex + 1) % _this.options.audio.length);\n } else if (_this.options.order === 'random') {\n _this.switchAudio(_this.nextRandomNum());\n }\n _this.play();\n }\n });\n this.volume(this.user.get('volume'), true);\n }\n },\n {\n key: 'switchAudio',\n value: function switchAudio(index) {\n var _this2 = this;\n this.handlePlayPromise(function () {\n _this2.events.trigger('switchaudio', index);\n if (typeof index !== 'undefined') {\n _this2.playIndex = index;\n }\n if (_this2.options.audio[_this2.playIndex].cover) {\n _this2.template.pic.style.backgroundImage = 'url(\\'' + _this2.options.audio[_this2.playIndex].cover + '\\')';\n } else {\n _this2.template.pic.style.backgroundImage = '';\n }\n _this2.template.title.innerHTML = _this2.options.audio[_this2.playIndex].name;\n _this2.template.author.innerHTML = _this2.options.audio[_this2.playIndex].artist ? ' - ' + _this2.options.audio[_this2.playIndex].artist : '';\n var light = _this2.container.getElementsByClassName('aplayer-list-light')[0];\n if (light) {\n light.classList.remove('aplayer-list-light');\n }\n _this2.container.querySelectorAll('.aplayer-list li')[_this2.playIndex].classList.add('aplayer-list-light');\n _this2.template.list.scrollTop = _this2.playIndex * 33;\n _this2.audio.src = _this2.options.audio[_this2.playIndex].url;\n _this2.seek(0);\n var playPromise = void 0;\n if (!_this2.paused) {\n playPromise = _promisePolyfill2.default.resolve(_this2.audio.play()).catch(function (err) {\n console.error(err);\n _this2.pause();\n });\n }\n _this2.lrc && _this2.lrc.switch(_this2.playIndex);\n if (_this2.audio.duration !== 1) {\n _this2.template.dtime.innerHTML = _this2.audio.duration ? _utils2.default.secondToTime(_this2.audio.duration) : '00:00';\n }\n return playPromise;\n });\n }\n },\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n if (this.audio.duration) {\n time = Math.min(time, this.audio.duration);\n }\n this.audio.currentTime = time;\n if (isNaN(this.audio.duration)) {\n this.bar.set('played', 0, 'width');\n } else {\n this.bar.set('played', time / this.audio.duration, 'width');\n }\n this.template.ptime.innerHTML = _utils2.default.secondToTime(time);\n }\n },\n {\n key: 'play',\n value: function play() {\n var _this3 = this;\n this.handlePlayPromise(function () {\n if (_this3.paused) {\n _this3.paused = false;\n _this3.template.button.classList.remove('aplayer-play');\n _this3.template.button.classList.add('aplayer-pause');\n _this3.template.button.innerHTML = '';\n setTimeout(function () {\n _this3.template.button.innerHTML = _icons2.default.pause;\n }, 100);\n }\n var playPromise = _promisePolyfill2.default.resolve(_this3.audio.play()).catch(function (err) {\n console.error(err);\n _this3.pause();\n });\n _this3.timer.enable('loading');\n _this3.timer.enable('progress');\n if (_this3.options.mutex) {\n for (var i = 0; i < instances.length; i++) {\n if (_this3 !== instances[i]) {\n instances[i].pause();\n }\n }\n }\n return playPromise;\n });\n }\n },\n {\n key: 'pause',\n value: function pause() {\n var _this4 = this;\n this.handlePlayPromise(function () {\n if (!_this4.paused) {\n _this4.paused = true;\n _this4.template.button.classList.remove('aplayer-pause');\n _this4.template.button.classList.add('aplayer-play');\n _this4.template.button.innerHTML = '';\n setTimeout(function () {\n _this4.template.button.innerHTML = _icons2.default.play;\n }, 100);\n }\n _this4.audio.pause();\n _this4.timer.disable('loading');\n _this4.timer.disable('progress');\n });\n }\n },\n {\n key: 'switchVolumeIcon',\n value: function switchVolumeIcon() {\n if (this.volume() >= 0.95) {\n this.template.volumeButton.innerHTML = _icons2.default.volumeUp;\n } else if (this.volume() > 0) {\n this.template.volumeButton.innerHTML = _icons2.default.volumeDown;\n } else {\n this.template.volumeButton.innerHTML = _icons2.default.volumeOff;\n }\n }\n },\n {\n key: 'volume',\n value: function volume(percentage, nostorage) {\n percentage = parseFloat(percentage);\n if (!isNaN(percentage)) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.bar.set('volume', percentage, 'height');\n if (!nostorage) {\n this.user.set('volume', percentage);\n }\n this.audio.volume = percentage;\n if (this.audio.muted) {\n this.audio.muted = false;\n }\n this.switchVolumeIcon();\n }\n return this.audio.muted ? 0 : this.audio.volume;\n }\n },\n {\n key: 'on',\n value: function on(name, callback) {\n this.events.on(name, callback);\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.template.button.classList.contains('aplayer-play')) {\n this.play();\n } else if (this.template.button.classList.contains('aplayer-pause')) {\n this.pause();\n }\n }\n },\n {\n key: 'isMultiple',\n value: function isMultiple() {\n return this.options.audio.length > 1;\n }\n },\n {\n key: 'nextRandomNum',\n value: function nextRandomNum() {\n if (this.isMultiple()) {\n var index = this.randomOrder.indexOf(this.playIndex);\n if (index === this.randomOrder.length - 1) {\n return this.randomOrder[0];\n } else {\n return this.randomOrder[index + 1];\n }\n } else {\n return 0;\n }\n }\n },\n {\n key: 'addAudio',\n value: function addAudio(newMusic) {\n this.events.trigger('addaudio', newMusic);\n var wasSingle = !this.isMultiple();\n this.options.audio = this.options.audio.concat(newMusic);\n var newItemHTML = '';\n for (var i = 0; i < newMusic.length; i++) {\n newItemHTML += '{{$value[1]}}
\n{{/each}}\n\n\n// WEBPACK FOOTER //\n// ./src/template/lrc.art","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Controller = function () {\n function Controller(player) {\n _classCallCheck(this, Controller);\n this.player = player;\n this.initPlayButton();\n this.initList();\n this.initPlayBar();\n if (this.player.isMultiple()) {\n this.initOrderButton();\n }\n this.initLoopButton();\n this.initMenuButton();\n if (!_utils2.default.isMobile) {\n this.initVolumeButton();\n }\n }\n _createClass(Controller, [\n {\n key: 'initPlayButton',\n value: function initPlayButton() {\n var _this = this;\n this.player.template.pic.addEventListener('click', function () {\n _this.player.toggle();\n });\n }\n },\n {\n key: 'initList',\n value: function initList() {\n var _this2 = this;\n this.player.template.list.addEventListener('click', function (e) {\n var target = void 0;\n if (e.target.tagName.toUpperCase() === 'LI') {\n target = e.target;\n } else {\n target = e.target.parentElement;\n }\n var audioIndex = parseInt(target.getElementsByClassName('aplayer-list-index')[0].innerHTML) - 1;\n if (audioIndex !== _this2.player.playIndex) {\n _this2.player.switchAudio(audioIndex);\n _this2.player.play();\n } else {\n _this2.player.toggle();\n }\n });\n }\n },\n {\n key: 'initPlayBar',\n value: function initPlayBar() {\n var _this3 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this3.player.template.barWrap)) / _this3.player.template.barWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this3.player.bar.set('played', percentage, 'width');\n _this3.player.lrc && _this3.player.lrc.update(percentage * _this3.player.audio.duration);\n _this3.player.template.ptime.innerHTML = _utils2.default.secondToTime(percentage * _this3.player.audio.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this3.player.template.barWrap)) / _this3.player.template.barWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this3.player.bar.set('played', percentage, 'width');\n _this3.player.seek(_this3.player.bar.get('played', 'width') * _this3.player.audio.duration);\n _this3.player.timer.enable('progress');\n };\n this.player.template.barWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n _this3.player.timer.disable('progress');\n document.addEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this4 = this;\n this.player.template.volumeButton.addEventListener('click', function () {\n if (_this4.player.audio.muted) {\n _this4.player.audio.muted = false;\n _this4.player.switchVolumeIcon();\n _this4.player.bar.set('volume', _this4.player.volume(), 'height');\n } else {\n _this4.player.audio.muted = true;\n _this4.player.switchVolumeIcon();\n _this4.player.bar.set('volume', 0, 'height');\n }\n });\n var thumbMove = function thumbMove(e) {\n var percentage = 1 - ((e.clientY || e.changedTouches[0].clientY) - _utils2.default.getElementViewTop(_this4.player.template.volumeBar)) / _this4.player.template.volumeBar.clientHeight;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.volume(percentage);\n };\n var thumbUp = function thumbUp(e) {\n _this4.player.template.volumeBarWrap.classList.remove('aplayer-volume-bar-wrap-active');\n document.removeEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n var percentage = 1 - ((e.clientY || e.changedTouches[0].clientY) - _utils2.default.getElementViewTop(_this4.player.template.volumeBar)) / _this4.player.template.volumeBar.clientHeight;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.volume(percentage);\n };\n this.player.template.volumeBarWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n _this4.player.template.volumeBarWrap.classList.add('aplayer-volume-bar-wrap-active');\n document.addEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n });\n }\n },\n {\n key: 'initOrderButton',\n value: function initOrderButton() {\n var _this5 = this;\n this.player.template.order.addEventListener('click', function () {\n if (_this5.player.options.order === 'list') {\n _this5.player.options.order = 'random';\n _this5.player.template.order.innerHTML = _icons2.default.orderRandom;\n } else if (_this5.player.options.order === 'random') {\n _this5.player.options.order = 'list';\n _this5.player.template.order.innerHTML = _icons2.default.orderList;\n }\n });\n }\n },\n {\n key: 'initLoopButton',\n value: function initLoopButton() {\n var _this6 = this;\n this.player.template.loop.addEventListener('click', function () {\n if (_this6.player.isMultiple()) {\n if (_this6.player.options.loop === 'one') {\n _this6.player.options.loop = 'none';\n _this6.player.template.loop.innerHTML = _icons2.default.loopNone;\n } else if (_this6.player.options.loop === 'none') {\n _this6.player.options.loop = 'all';\n _this6.player.template.loop.innerHTML = _icons2.default.loopAll;\n } else if (_this6.player.options.loop === 'all') {\n _this6.player.options.loop = 'one';\n _this6.player.template.loop.innerHTML = _icons2.default.loopOne;\n }\n } else {\n if (_this6.player.options.loop === 'one' || _this6.player.options.loop === 'all') {\n _this6.player.options.loop = 'none';\n _this6.player.template.loop.innerHTML = _icons2.default.loopNone;\n } else if (_this6.player.options.loop === 'none') {\n _this6.player.options.loop = 'all';\n _this6.player.template.loop.innerHTML = _icons2.default.loopAll;\n }\n }\n });\n }\n },\n {\n key: 'initMenuButton',\n value: function initMenuButton() {\n var _this7 = this;\n this.player.template.list.style.height = 33 * this.player.options.audio.length - 1 + 'px';\n this.player.template.menu.addEventListener('click', function () {\n if (!_this7.player.template.list.classList.contains('aplayer-list-hide')) {\n _this7.player.template.list.classList.add('aplayer-list-hide');\n } else {\n _this7.player.template.list.classList.remove('aplayer-list-hide');\n }\n });\n }\n }\n ]);\n return Controller;\n}();\nexports.default = Controller;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/controller.js\n// module id = 32\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Timer = function () {\n function Timer(player) {\n _classCallCheck(this, Timer);\n this.player = player;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n this.types = [\n 'loading',\n 'progress'\n ];\n this.init();\n }\n _createClass(Timer, [\n {\n key: 'init',\n value: function init() {\n var _this = this;\n this.types.map(function (item) {\n _this['init' + item + 'Checker']();\n return item;\n });\n }\n },\n {\n key: 'initprogressChecker',\n value: function initprogressChecker() {\n var _this2 = this;\n this.progressChecker = setInterval(function () {\n if (_this2.enableprogressChecker) {\n _this2.player.bar.set('played', _this2.player.audio.currentTime / _this2.player.audio.duration, 'width');\n _this2.player.lrc && _this2.player.lrc.update();\n var currentTime = _utils2.default.secondToTime(_this2.player.audio.currentTime);\n if (_this2.player.template.ptime.innerHTML !== currentTime) {\n _this2.player.template.ptime.innerHTML = currentTime;\n }\n }\n }, 100);\n }\n },\n {\n key: 'initloadingChecker',\n value: function initloadingChecker() {\n var _this3 = this;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.loadingChecker = setInterval(function () {\n if (_this3.enableloadingChecker) {\n currentPlayPos = _this3.player.audio.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this3.player.audio.paused) {\n _this3.player.container.classList.add('aplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this3.player.audio.paused) {\n _this3.player.container.classList.remove('aplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }\n }, 100);\n }\n },\n {\n key: 'enable',\n value: function enable(type) {\n this['enable' + type + 'Checker'] = true;\n if (type === 'fps') {\n this.initfpsChecker();\n }\n }\n },\n {\n key: 'disable',\n value: function disable(type) {\n this['enable' + type + 'Checker'] = false;\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n var _this4 = this;\n this.types.map(function (item) {\n _this4['enable' + item + 'Checker'] = false;\n _this4[item + 'Checker'] && clearInterval(_this4[item + 'Checker']);\n return item;\n });\n }\n }\n ]);\n return Timer;\n}();\nexports.default = Timer;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/timer.js\n// module id = 33\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.audioEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'destroy',\n 'switchaudio',\n 'addaudio',\n 'removeaudio'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, info) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](info);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.audioEvents.indexOf(name) !== -1) {\n return 'audio';\n }\n console.error('Unknown event name: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nexports.default = Events;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/events.js\n// module id = 34\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///APlayer.min.js","webpack:///webpack/bootstrap ba5dbe608095506f5fef","webpack:///./src/js/utils.js","webpack:///(webpack)/buildin/global.js","webpack:///./src/js/icons.js","webpack:///./node_modules/art-template/lib/runtime.js","webpack:///./src/js/index.js","webpack:///./src/js/player.js","webpack:///./node_modules/promise-polyfill/lib/index.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/process/browser.js","webpack:///./src/assets/play.svg","webpack:///./src/assets/pause.svg","webpack:///./src/assets/volume-up.svg","webpack:///./src/assets/volume-down.svg","webpack:///./src/assets/volume-off.svg","webpack:///./src/assets/order-random.svg","webpack:///./src/assets/order-list.svg","webpack:///./src/assets/menu.svg","webpack:///./src/assets/loop-all.svg","webpack:///./src/assets/loop-one.svg","webpack:///./src/assets/loop-none.svg","webpack:///./src/assets/loading.svg","webpack:///./src/js/options.js","webpack:///./src/js/template.js","webpack:///./src/template/player.art","webpack:///./node_modules/art-template/lib/compile/runtime.js","webpack:///./node_modules/detect-node/index.js","webpack:///./src/js/bar.js","webpack:///./src/js/user.js","webpack:///./src/js/lrc.js","webpack:///./src/template/lrc.art","webpack:///./src/js/controller.js","webpack:///./src/js/timer.js","webpack:///./src/js/events.js"],"names":["root","factory","exports","module","define","amd","self","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","_toConsumableArray","arr","Array","isArray","arr2","length","from","value","isMobile","test","window","navigator","userAgent","utils","secondToTime","second","add0","num","hour","Math","floor","min","sec","map","join","getElementViewLeft","element","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","document","body","scrollLeft","documentElement","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getElementViewTop","actualTop","offsetTop","elementScrollTop","scrollTop","storage","set","key","localStorage","setItem","getItem","nameMap","dragStart","dragMove","dragEnd","randomOrder","arguments","undefined","options","audio","randomIndex","random","itemAtIndex","concat","item","default","g","_typeof","Symbol","iterator","obj","constructor","Function","eval","e","_interopRequireDefault","_play","_play2","_pause","_pause2","_volumeUp","_volumeUp2","_volumeDown","_volumeDown2","_volumeOff","_volumeOff2","_orderRandom","_orderRandom2","_orderList","_orderList2","_menu","_menu2","_loopAll","_loopAll2","_loopOne","_loopOne2","_loopNone","_loopNone2","_loading","_loading2","Icons","play","pause","volumeUp","volumeDown","volumeOff","orderRandom","orderList","menu","loopAll","loopOne","loopNone","loading","_player","_player2","console","log","_classCallCheck","instance","Constructor","TypeError","_createClass","defineProperties","target","props","descriptor","writable","protoProps","staticProps","_promisePolyfill","_promisePolyfill2","_utils","_utils2","_icons","_icons2","_options","_options2","_template","_template2","_bar","_bar2","_user","_user2","_lrc","_lrc2","_controller","_controller2","_timer","_timer2","_events","_events2","instances","APlayer","container","playIndex","paused","playedPromise","resolve","classList","add","lrc","arrow","offsetWidth","mini","lrcEle","getElementsByClassName","innerHTML","template","info","time","async","content","player","events","user","bar","controller","timer","initAudio","order","switchAudio","autoplay","push","_this","createElement","preload","audioEvents","addEventListener","trigger","on","duration","dtime","percentage","buffered","end","author","loop","indexOf","nextRandomNum","volume","index","_this2","handlePlayPromise","cover","pic","style","backgroundImage","theme","backgroundColor","played","background","thumb","title","artist","light","remove","querySelectorAll","list","src","url","seek","playPromise","catch","err","error","switch","max","currentTime","isNaN","ptime","_this3","button","setTimeout","enable","mutex","_this4","disable","volumeButton","nostorage","parseFloat","muted","switchVolumeIcon","callback","contains","isMultiple","newMusic","wasSingle","newItemHTML","listOl","songListLength","height","splice","textContent","parseInt","destroy","then","setImmediate","noop","bind","fn","thisArg","apply","Promise","_state","_handled","_value","_deferreds","doResolve","handle","deferred","_immediateFn","cb","onFulfilled","onRejected","reject","promise","ret","newValue","finale","_unhandledRejectionFn","len","Handler","done","reason","ex","setTimeoutFunc","prom","all","res","val","args","remaining","slice","race","values","warn","Timeout","id","clearFn","_id","_clearFn","clearTimeout","setInterval","clearInterval","timeout","close","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","global","process","task","tasksByHandle","nextHandle","registerImmediate","run","runIfPresent","currentlyRunningATask","doc","attachTo","getPrototypeOf","toString","nextTick","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","messagePrefix","onGlobalMessage","event","source","data","attachEvent","MessageChannel","channel","port1","port2","html","script","onreadystatechange","removeChild","appendChild","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queue","queueIndex","drainQueue","Item","array","browser","env","argv","version","versions","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","defaultOption","narrow","showlrc","listFolded","listMaxHeight","listmaxheight","music","defaultKey","Template","init","icons","querySelector","barWrap","loaded","volumeBar","volumeBarWrap","$imports","$data","$$out","$escape","$each","$value","$index","JSON","stringify","xmlEscape","regexResult","ESCAPE_REG","exec","result","lastIndex","char","charCodeAt","substring","detectNode","runtime","create","_i","Bar","elements","type","direction","User","storageName","Lrc","parsed","transform","webkitTransform","getElementsByTagName","xhr","XMLHttpRequest","readyState","status","parse","responseText","lyrics","update","apiurl","open","send","lrc_s","replace","match","p1","lyric","split","lyricLen","lrcTimes","lrcText","timeLen","j","oneTime","min2sec","sec2sec","msec2sec","lrcTime","sort","a","b","Controller","initPlayButton","initList","initPlayBar","initOrderButton","initLoopButton","initMenuButton","initVolumeButton","toggle","tagName","toUpperCase","parentElement","audioIndex","thumbMove","clientX","changedTouches","clientWidth","thumbUp","removeEventListener","clientY","clientHeight","_this5","_this6","_this7","Timer","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","types","progressChecker","enableprogressChecker","lastPlayPos","currentPlayPos","bufferingDetected","loadingChecker","enableloadingChecker","initfpsChecker","Events","playerEvents"],"mappings":"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","file":"APlayer.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"APlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"APlayer\"] = factory();\n\telse\n\t\troot[\"APlayer\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"APlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"APlayer\"] = factory();\n\telse\n\t\troot[\"APlayer\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 4);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n } else {\n return Array.from(arr);\n }\n}\nvar isMobile = /mobile/i.test(window.navigator.userAgent);\nvar utils = {\n secondToTime: function secondToTime(second) {\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var hour = Math.floor(second / 3600);\n var min = Math.floor((second - hour * 3600) / 60);\n var sec = Math.floor(second - hour * 3600 - min * 60);\n return (hour > 0 ? [\n hour,\n min,\n sec\n ] : [\n min,\n sec\n ]).map(add0).join(':');\n },\n getElementViewLeft: function getElementViewLeft(element) {\n var actualLeft = element.offsetLeft;\n var current = element.offsetParent;\n var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n while (current !== null) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n } else {\n while (current !== null && current !== element) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n }\n return actualLeft - elementScrollLeft;\n },\n getElementViewTop: function getElementViewTop(element) {\n var actualTop = element.offsetTop;\n var current = element.offsetParent;\n var elementScrollTop = 0;\n while (current !== null) {\n actualTop += current.offsetTop;\n current = current.offsetParent;\n }\n elementScrollTop = document.body.scrollTop + document.documentElement.scrollTop;\n return actualTop - elementScrollTop;\n },\n isMobile: isMobile,\n storage: {\n set: function set(key, value) {\n localStorage.setItem(key, value);\n },\n get: function get(key) {\n return localStorage.getItem(key);\n }\n },\n nameMap: {\n dragStart: isMobile ? 'touchstart' : 'mousedown',\n dragMove: isMobile ? 'touchmove' : 'mousemove',\n dragEnd: isMobile ? 'touchend' : 'mouseup'\n },\n randomOrder: function randomOrder() {\n var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined.options.audio.length;\n function shuffle(arr) {\n for (var i = arr.length - 1; i >= 0; i--) {\n var randomIndex = Math.floor(Math.random() * (i + 1));\n var itemAtIndex = arr[randomIndex];\n arr[randomIndex] = arr[i];\n arr[i] = itemAtIndex;\n }\n return arr;\n }\n return shuffle([].concat(_toConsumableArray(Array(length))).map(function (item, i) {\n return i;\n }));\n }\n};\nexports.default = utils;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar g;\ng = function () {\n return this;\n}();\ntry {\n g = g || Function('return this')() || (1, eval)('this');\n} catch (e) {\n if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object')\n g = window;\n}\nmodule.exports = g;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _play = __webpack_require__(11);\nvar _play2 = _interopRequireDefault(_play);\nvar _pause = __webpack_require__(12);\nvar _pause2 = _interopRequireDefault(_pause);\nvar _volumeUp = __webpack_require__(13);\nvar _volumeUp2 = _interopRequireDefault(_volumeUp);\nvar _volumeDown = __webpack_require__(14);\nvar _volumeDown2 = _interopRequireDefault(_volumeDown);\nvar _volumeOff = __webpack_require__(15);\nvar _volumeOff2 = _interopRequireDefault(_volumeOff);\nvar _orderRandom = __webpack_require__(16);\nvar _orderRandom2 = _interopRequireDefault(_orderRandom);\nvar _orderList = __webpack_require__(17);\nvar _orderList2 = _interopRequireDefault(_orderList);\nvar _menu = __webpack_require__(18);\nvar _menu2 = _interopRequireDefault(_menu);\nvar _loopAll = __webpack_require__(19);\nvar _loopAll2 = _interopRequireDefault(_loopAll);\nvar _loopOne = __webpack_require__(20);\nvar _loopOne2 = _interopRequireDefault(_loopOne);\nvar _loopNone = __webpack_require__(21);\nvar _loopNone2 = _interopRequireDefault(_loopNone);\nvar _loading = __webpack_require__(22);\nvar _loading2 = _interopRequireDefault(_loading);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nvar Icons = {\n play: _play2.default,\n pause: _pause2.default,\n volumeUp: _volumeUp2.default,\n volumeDown: _volumeDown2.default,\n volumeOff: _volumeOff2.default,\n orderRandom: _orderRandom2.default,\n orderList: _orderList2.default,\n menu: _menu2.default,\n loopAll: _loopAll2.default,\n loopOne: _loopOne2.default,\n loopNone: _loopNone2.default,\n loading: _loading2.default\n};\nexports.default = Icons;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nmodule.exports = __webpack_require__(26);\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\n__webpack_require__(5);\nvar _player = __webpack_require__(6);\nvar _player2 = _interopRequireDefault(_player);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nconsole.log('\\n' + ' %c APlayer v' + \"1.8.0\" + ' ' + \"ed18fa7\" + ' %c http://aplayer.js.org ' + '\\n' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nexports.default = _player2.default;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _promisePolyfill = __webpack_require__(7);\nvar _promisePolyfill2 = _interopRequireDefault(_promisePolyfill);\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nvar _icons = __webpack_require__(2);\nvar _icons2 = _interopRequireDefault(_icons);\nvar _options = __webpack_require__(23);\nvar _options2 = _interopRequireDefault(_options);\nvar _template = __webpack_require__(24);\nvar _template2 = _interopRequireDefault(_template);\nvar _bar = __webpack_require__(28);\nvar _bar2 = _interopRequireDefault(_bar);\nvar _user = __webpack_require__(29);\nvar _user2 = _interopRequireDefault(_user);\nvar _lrc = __webpack_require__(30);\nvar _lrc2 = _interopRequireDefault(_lrc);\nvar _controller = __webpack_require__(32);\nvar _controller2 = _interopRequireDefault(_controller);\nvar _timer = __webpack_require__(33);\nvar _timer2 = _interopRequireDefault(_timer);\nvar _events = __webpack_require__(34);\nvar _events2 = _interopRequireDefault(_events);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar instances = [];\nvar APlayer = function () {\n function APlayer(options) {\n _classCallCheck(this, APlayer);\n this.options = (0, _options2.default)(options);\n this.container = this.options.container;\n this.playIndex = 0;\n this.paused = true;\n this.playedPromise = _promisePolyfill2.default.resolve();\n this.randomOrder = _utils2.default.randomOrder(this.options.audio.length);\n this.container.classList.add('aplayer');\n if (this.options.lrc) {\n this.container.classList.add('aplayer-withlrc');\n }\n if (this.options.audio.length > 1) {\n this.container.classList.add('aplayer-withlist');\n }\n if (_utils2.default.isMobile) {\n this.container.classList.add('aplayer-mobile');\n }\n this.arrow = this.container.offsetWidth <= 300;\n if (this.arrow) {\n this.container.classList.add('aplayer-arrow');\n }\n if (this.options.mini) {\n this.container.classList.add('aplayer-narrow');\n }\n this.container = this.options.container;\n if (this.options.lrc === 2 || this.options.lrc === true) {\n var lrcEle = this.container.getElementsByClassName('aplayer-lrc-content');\n for (var i = 0; i < lrcEle.length; i++) {\n if (this.options.audio[i]) {\n this.options.audio[i].lrc = lrcEle[i].innerHTML;\n }\n }\n }\n this.template = new _template2.default({\n container: this.container,\n options: this.options,\n randomOrder: this.randomOrder\n });\n if (this.template.info.offsetWidth < 200) {\n this.template.time.classList.add('aplayer-time-narrow');\n }\n if (this.options.lrc) {\n this.lrc = new _lrc2.default({\n container: this.template.lrc,\n async: this.options.lrc === 3,\n content: this.options.audio.map(function (item) {\n return item.lrc;\n }),\n player: this\n });\n }\n this.events = new _events2.default();\n this.user = new _user2.default(this);\n this.bar = new _bar2.default(this.template);\n this.controller = new _controller2.default(this);\n this.timer = new _timer2.default(this);\n this.initAudio();\n if (this.options.order === 'random') {\n this.switchAudio(this.randomOrder[0]);\n } else {\n this.switchAudio(0);\n }\n if (this.options.autoplay) {\n this.play();\n }\n instances.push(this);\n }\n _createClass(APlayer, [\n {\n key: 'initAudio',\n value: function initAudio() {\n var _this = this;\n this.audio = document.createElement('audio');\n this.audio.preload = this.options.preload;\n var _loop = function _loop(i) {\n _this.audio.addEventListener(_this.events.audioEvents[i], function () {\n _this.events.trigger(_this.events.audioEvents[i]);\n });\n };\n for (var i = 0; i < this.events.audioEvents.length; i++) {\n _loop(i);\n }\n this.on('play', function () {\n if (_this.paused) {\n _this.play();\n }\n });\n this.on('pause', function () {\n if (!_this.paused) {\n _this.pause();\n }\n });\n this.on('durationchange', function () {\n if (_this.audio.duration !== 1) {\n _this.template.dtime.innerHTML = _utils2.default.secondToTime(_this.audio.duration);\n }\n });\n this.on('progress', function () {\n var percentage = _this.audio.buffered.length ? _this.audio.buffered.end(_this.audio.buffered.length - 1) / _this.audio.duration : 0;\n _this.bar.set('loaded', percentage, 'width');\n });\n this.on('error', function () {\n _this.template.author.innerHTML = ' - Error happens \\u2565﹏\\u2565';\n });\n this.on('ended', function () {\n if (_this.options.loop === 'none') {\n if (_this.options.order === 'list') {\n if (_this.playIndex < _this.options.audio.length - 1) {\n _this.switchAudio((_this.playIndex + 1) % _this.options.audio.length);\n _this.play();\n } else {\n _this.switchAudio((_this.playIndex + 1) % _this.options.audio.length);\n _this.pause();\n }\n } else if (_this.options.order === 'random') {\n if (_this.randomOrder.indexOf(_this.playIndex) < _this.randomOrder.length - 1) {\n _this.switchAudio(_this.nextRandomNum());\n _this.play();\n } else {\n _this.switchAudio(_this.nextRandomNum());\n _this.pause();\n }\n }\n } else if (_this.options.loop === 'one') {\n _this.switchAudio(_this.playIndex);\n _this.play();\n } else if (_this.options.loop === 'all') {\n if (_this.options.order === 'list') {\n _this.switchAudio((_this.playIndex + 1) % _this.options.audio.length);\n } else if (_this.options.order === 'random') {\n _this.switchAudio(_this.nextRandomNum());\n }\n _this.play();\n }\n });\n this.volume(this.user.get('volume'), true);\n }\n },\n {\n key: 'switchAudio',\n value: function switchAudio(index) {\n var _this2 = this;\n this.handlePlayPromise(function () {\n _this2.events.trigger('switchaudio', index);\n if (typeof index !== 'undefined') {\n _this2.playIndex = index;\n }\n if (_this2.options.audio[_this2.playIndex].cover) {\n _this2.template.pic.style.backgroundImage = 'url(\\'' + _this2.options.audio[_this2.playIndex].cover + '\\')';\n } else {\n _this2.template.pic.style.backgroundImage = '';\n }\n if (_this2.options.audio[_this2.playIndex].theme) {\n _this2.template.pic.style.backgroundColor = _this2.options.audio[_this2.playIndex].theme;\n _this2.template.played.style.background = _this2.options.audio[_this2.playIndex].theme;\n _this2.template.thumb.style.background = _this2.options.audio[_this2.playIndex].theme;\n _this2.template.volume.style.background = _this2.options.audio[_this2.playIndex].theme;\n }\n _this2.template.title.innerHTML = _this2.options.audio[_this2.playIndex].name;\n _this2.template.author.innerHTML = _this2.options.audio[_this2.playIndex].artist ? ' - ' + _this2.options.audio[_this2.playIndex].artist : '';\n var light = _this2.container.getElementsByClassName('aplayer-list-light')[0];\n if (light) {\n light.classList.remove('aplayer-list-light');\n }\n _this2.container.querySelectorAll('.aplayer-list li')[_this2.playIndex].classList.add('aplayer-list-light');\n _this2.template.list.scrollTop = _this2.playIndex * 33;\n _this2.audio.src = _this2.options.audio[_this2.playIndex].url;\n _this2.seek(0);\n var playPromise = void 0;\n if (!_this2.paused) {\n playPromise = _promisePolyfill2.default.resolve(_this2.audio.play()).catch(function (err) {\n console.error(err);\n _this2.pause();\n });\n }\n _this2.lrc && _this2.lrc.switch(_this2.playIndex);\n if (_this2.audio.duration !== 1) {\n _this2.template.dtime.innerHTML = _this2.audio.duration ? _utils2.default.secondToTime(_this2.audio.duration) : '00:00';\n }\n return playPromise;\n });\n }\n },\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n if (this.audio.duration) {\n time = Math.min(time, this.audio.duration);\n }\n this.audio.currentTime = time;\n if (isNaN(this.audio.duration)) {\n this.bar.set('played', 0, 'width');\n } else {\n this.bar.set('played', time / this.audio.duration, 'width');\n }\n this.template.ptime.innerHTML = _utils2.default.secondToTime(time);\n }\n },\n {\n key: 'play',\n value: function play() {\n var _this3 = this;\n this.handlePlayPromise(function () {\n if (_this3.paused) {\n _this3.paused = false;\n _this3.template.button.classList.remove('aplayer-play');\n _this3.template.button.classList.add('aplayer-pause');\n _this3.template.button.innerHTML = '';\n setTimeout(function () {\n _this3.template.button.innerHTML = _icons2.default.pause;\n }, 100);\n }\n var playPromise = _promisePolyfill2.default.resolve(_this3.audio.play()).catch(function (err) {\n console.error(err);\n _this3.pause();\n });\n _this3.timer.enable('loading');\n _this3.timer.enable('progress');\n if (_this3.options.mutex) {\n for (var i = 0; i < instances.length; i++) {\n if (_this3 !== instances[i]) {\n instances[i].pause();\n }\n }\n }\n return playPromise;\n });\n }\n },\n {\n key: 'pause',\n value: function pause() {\n var _this4 = this;\n this.handlePlayPromise(function () {\n if (!_this4.paused) {\n _this4.paused = true;\n _this4.template.button.classList.remove('aplayer-pause');\n _this4.template.button.classList.add('aplayer-play');\n _this4.template.button.innerHTML = '';\n setTimeout(function () {\n _this4.template.button.innerHTML = _icons2.default.play;\n }, 100);\n }\n _this4.audio.pause();\n _this4.timer.disable('loading');\n _this4.timer.disable('progress');\n });\n }\n },\n {\n key: 'switchVolumeIcon',\n value: function switchVolumeIcon() {\n if (this.volume() >= 0.95) {\n this.template.volumeButton.innerHTML = _icons2.default.volumeUp;\n } else if (this.volume() > 0) {\n this.template.volumeButton.innerHTML = _icons2.default.volumeDown;\n } else {\n this.template.volumeButton.innerHTML = _icons2.default.volumeOff;\n }\n }\n },\n {\n key: 'volume',\n value: function volume(percentage, nostorage) {\n percentage = parseFloat(percentage);\n if (!isNaN(percentage)) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.bar.set('volume', percentage, 'height');\n if (!nostorage) {\n this.user.set('volume', percentage);\n }\n this.audio.volume = percentage;\n if (this.audio.muted) {\n this.audio.muted = false;\n }\n this.switchVolumeIcon();\n }\n return this.audio.muted ? 0 : this.audio.volume;\n }\n },\n {\n key: 'on',\n value: function on(name, callback) {\n this.events.on(name, callback);\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.template.button.classList.contains('aplayer-play')) {\n this.play();\n } else if (this.template.button.classList.contains('aplayer-pause')) {\n this.pause();\n }\n }\n },\n {\n key: 'isMultiple',\n value: function isMultiple() {\n return this.options.audio.length > 1;\n }\n },\n {\n key: 'nextRandomNum',\n value: function nextRandomNum() {\n if (this.isMultiple()) {\n var index = this.randomOrder.indexOf(this.playIndex);\n if (index === this.randomOrder.length - 1) {\n return this.randomOrder[0];\n } else {\n return this.randomOrder[index + 1];\n }\n } else {\n return 0;\n }\n }\n },\n {\n key: 'addAudio',\n value: function addAudio(newMusic) {\n this.events.trigger('addaudio', newMusic);\n var wasSingle = !this.isMultiple();\n this.options.audio = this.options.audio.concat(newMusic);\n var newItemHTML = '';\n for (var i = 0; i < newMusic.length; i++) {\n newItemHTML += '';\n $$out += $escape($value[1]);\n $$out += '
\\n';\n });\n return $$out;\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nvar _icons = __webpack_require__(2);\nvar _icons2 = _interopRequireDefault(_icons);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Controller = function () {\n function Controller(player) {\n _classCallCheck(this, Controller);\n this.player = player;\n this.initPlayButton();\n this.initList();\n this.initPlayBar();\n if (this.player.isMultiple()) {\n this.initOrderButton();\n }\n this.initLoopButton();\n this.initMenuButton();\n if (!_utils2.default.isMobile) {\n this.initVolumeButton();\n }\n }\n _createClass(Controller, [\n {\n key: 'initPlayButton',\n value: function initPlayButton() {\n var _this = this;\n this.player.template.pic.addEventListener('click', function () {\n _this.player.toggle();\n });\n }\n },\n {\n key: 'initList',\n value: function initList() {\n var _this2 = this;\n this.player.template.list.addEventListener('click', function (e) {\n var target = void 0;\n if (e.target.tagName.toUpperCase() === 'LI') {\n target = e.target;\n } else {\n target = e.target.parentElement;\n }\n var audioIndex = parseInt(target.getElementsByClassName('aplayer-list-index')[0].innerHTML) - 1;\n if (audioIndex !== _this2.player.playIndex) {\n _this2.player.switchAudio(audioIndex);\n _this2.player.play();\n } else {\n _this2.player.toggle();\n }\n });\n }\n },\n {\n key: 'initPlayBar',\n value: function initPlayBar() {\n var _this3 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this3.player.template.barWrap)) / _this3.player.template.barWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this3.player.bar.set('played', percentage, 'width');\n _this3.player.lrc && _this3.player.lrc.update(percentage * _this3.player.audio.duration);\n _this3.player.template.ptime.innerHTML = _utils2.default.secondToTime(percentage * _this3.player.audio.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this3.player.template.barWrap)) / _this3.player.template.barWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this3.player.bar.set('played', percentage, 'width');\n _this3.player.seek(_this3.player.bar.get('played', 'width') * _this3.player.audio.duration);\n _this3.player.timer.enable('progress');\n };\n this.player.template.barWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n _this3.player.timer.disable('progress');\n document.addEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this4 = this;\n this.player.template.volumeButton.addEventListener('click', function () {\n if (_this4.player.audio.muted) {\n _this4.player.audio.muted = false;\n _this4.player.switchVolumeIcon();\n _this4.player.bar.set('volume', _this4.player.volume(), 'height');\n } else {\n _this4.player.audio.muted = true;\n _this4.player.switchVolumeIcon();\n _this4.player.bar.set('volume', 0, 'height');\n }\n });\n var thumbMove = function thumbMove(e) {\n var percentage = 1 - ((e.clientY || e.changedTouches[0].clientY) - _utils2.default.getElementViewTop(_this4.player.template.volumeBar)) / _this4.player.template.volumeBar.clientHeight;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.volume(percentage);\n };\n var thumbUp = function thumbUp(e) {\n _this4.player.template.volumeBarWrap.classList.remove('aplayer-volume-bar-wrap-active');\n document.removeEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n var percentage = 1 - ((e.clientY || e.changedTouches[0].clientY) - _utils2.default.getElementViewTop(_this4.player.template.volumeBar)) / _this4.player.template.volumeBar.clientHeight;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.volume(percentage);\n };\n this.player.template.volumeBarWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n _this4.player.template.volumeBarWrap.classList.add('aplayer-volume-bar-wrap-active');\n document.addEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n });\n }\n },\n {\n key: 'initOrderButton',\n value: function initOrderButton() {\n var _this5 = this;\n this.player.template.order.addEventListener('click', function () {\n if (_this5.player.options.order === 'list') {\n _this5.player.options.order = 'random';\n _this5.player.template.order.innerHTML = _icons2.default.orderRandom;\n } else if (_this5.player.options.order === 'random') {\n _this5.player.options.order = 'list';\n _this5.player.template.order.innerHTML = _icons2.default.orderList;\n }\n });\n }\n },\n {\n key: 'initLoopButton',\n value: function initLoopButton() {\n var _this6 = this;\n this.player.template.loop.addEventListener('click', function () {\n if (_this6.player.isMultiple()) {\n if (_this6.player.options.loop === 'one') {\n _this6.player.options.loop = 'none';\n _this6.player.template.loop.innerHTML = _icons2.default.loopNone;\n } else if (_this6.player.options.loop === 'none') {\n _this6.player.options.loop = 'all';\n _this6.player.template.loop.innerHTML = _icons2.default.loopAll;\n } else if (_this6.player.options.loop === 'all') {\n _this6.player.options.loop = 'one';\n _this6.player.template.loop.innerHTML = _icons2.default.loopOne;\n }\n } else {\n if (_this6.player.options.loop === 'one' || _this6.player.options.loop === 'all') {\n _this6.player.options.loop = 'none';\n _this6.player.template.loop.innerHTML = _icons2.default.loopNone;\n } else if (_this6.player.options.loop === 'none') {\n _this6.player.options.loop = 'all';\n _this6.player.template.loop.innerHTML = _icons2.default.loopAll;\n }\n }\n });\n }\n },\n {\n key: 'initMenuButton',\n value: function initMenuButton() {\n var _this7 = this;\n this.player.template.list.style.height = 33 * this.player.options.audio.length - 1 + 'px';\n this.player.template.listOl.style.height = 33 * this.player.options.audio.length - 1 + 'px';\n this.player.template.menu.addEventListener('click', function () {\n if (!_this7.player.template.list.classList.contains('aplayer-list-hide')) {\n _this7.player.template.list.classList.add('aplayer-list-hide');\n } else {\n _this7.player.template.list.classList.remove('aplayer-list-hide');\n }\n });\n }\n }\n ]);\n return Controller;\n}();\nexports.default = Controller;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Timer = function () {\n function Timer(player) {\n _classCallCheck(this, Timer);\n this.player = player;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n this.types = [\n 'loading',\n 'progress'\n ];\n this.init();\n }\n _createClass(Timer, [\n {\n key: 'init',\n value: function init() {\n var _this = this;\n this.types.map(function (item) {\n _this['init' + item + 'Checker']();\n return item;\n });\n }\n },\n {\n key: 'initprogressChecker',\n value: function initprogressChecker() {\n var _this2 = this;\n this.progressChecker = setInterval(function () {\n if (_this2.enableprogressChecker) {\n _this2.player.bar.set('played', _this2.player.audio.currentTime / _this2.player.audio.duration, 'width');\n _this2.player.lrc && _this2.player.lrc.update();\n var currentTime = _utils2.default.secondToTime(_this2.player.audio.currentTime);\n if (_this2.player.template.ptime.innerHTML !== currentTime) {\n _this2.player.template.ptime.innerHTML = currentTime;\n }\n }\n }, 100);\n }\n },\n {\n key: 'initloadingChecker',\n value: function initloadingChecker() {\n var _this3 = this;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.loadingChecker = setInterval(function () {\n if (_this3.enableloadingChecker) {\n currentPlayPos = _this3.player.audio.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this3.player.audio.paused) {\n _this3.player.container.classList.add('aplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this3.player.audio.paused) {\n _this3.player.container.classList.remove('aplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }\n }, 100);\n }\n },\n {\n key: 'enable',\n value: function enable(type) {\n this['enable' + type + 'Checker'] = true;\n if (type === 'fps') {\n this.initfpsChecker();\n }\n }\n },\n {\n key: 'disable',\n value: function disable(type) {\n this['enable' + type + 'Checker'] = false;\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n var _this4 = this;\n this.types.map(function (item) {\n _this4['enable' + item + 'Checker'] = false;\n _this4[item + 'Checker'] && clearInterval(_this4[item + 'Checker']);\n return item;\n });\n }\n }\n ]);\n return Timer;\n}();\nexports.default = Timer;\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.audioEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'destroy',\n 'switchaudio',\n 'addaudio',\n 'removeaudio'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, info) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](info);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.audioEvents.indexOf(name) !== -1) {\n return 'audio';\n }\n console.error('Unknown event name: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nexports.default = Events;\n\n/***/ })\n/******/ ])[\"default\"];\n});\n\n\n// WEBPACK FOOTER //\n// APlayer.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap ba5dbe608095506f5fef","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n } else {\n return Array.from(arr);\n }\n}\nvar isMobile = /mobile/i.test(window.navigator.userAgent);\nvar utils = {\n secondToTime: function secondToTime(second) {\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var hour = Math.floor(second / 3600);\n var min = Math.floor((second - hour * 3600) / 60);\n var sec = Math.floor(second - hour * 3600 - min * 60);\n return (hour > 0 ? [\n hour,\n min,\n sec\n ] : [\n min,\n sec\n ]).map(add0).join(':');\n },\n getElementViewLeft: function getElementViewLeft(element) {\n var actualLeft = element.offsetLeft;\n var current = element.offsetParent;\n var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n while (current !== null) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n } else {\n while (current !== null && current !== element) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n }\n return actualLeft - elementScrollLeft;\n },\n getElementViewTop: function getElementViewTop(element) {\n var actualTop = element.offsetTop;\n var current = element.offsetParent;\n var elementScrollTop = 0;\n while (current !== null) {\n actualTop += current.offsetTop;\n current = current.offsetParent;\n }\n elementScrollTop = document.body.scrollTop + document.documentElement.scrollTop;\n return actualTop - elementScrollTop;\n },\n isMobile: isMobile,\n storage: {\n set: function set(key, value) {\n localStorage.setItem(key, value);\n },\n get: function get(key) {\n return localStorage.getItem(key);\n }\n },\n nameMap: {\n dragStart: isMobile ? 'touchstart' : 'mousedown',\n dragMove: isMobile ? 'touchmove' : 'mousemove',\n dragEnd: isMobile ? 'touchend' : 'mouseup'\n },\n randomOrder: function randomOrder() {\n var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined.options.audio.length;\n function shuffle(arr) {\n for (var i = arr.length - 1; i >= 0; i--) {\n var randomIndex = Math.floor(Math.random() * (i + 1));\n var itemAtIndex = arr[randomIndex];\n arr[randomIndex] = arr[i];\n arr[i] = itemAtIndex;\n }\n return arr;\n }\n return shuffle([].concat(_toConsumableArray(Array(length))).map(function (item, i) {\n return i;\n }));\n }\n};\nexports.default = utils;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/utils.js\n// module id = 0\n// module chunks = 0","'use strict';\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar g;\ng = function () {\n return this;\n}();\ntry {\n g = g || Function('return this')() || (1, eval)('this');\n} catch (e) {\n if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object')\n g = window;\n}\nmodule.exports = g;\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 1\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _play = require('../assets/play.svg');\nvar _play2 = _interopRequireDefault(_play);\nvar _pause = require('../assets/pause.svg');\nvar _pause2 = _interopRequireDefault(_pause);\nvar _volumeUp = require('../assets/volume-up.svg');\nvar _volumeUp2 = _interopRequireDefault(_volumeUp);\nvar _volumeDown = require('../assets/volume-down.svg');\nvar _volumeDown2 = _interopRequireDefault(_volumeDown);\nvar _volumeOff = require('../assets/volume-off.svg');\nvar _volumeOff2 = _interopRequireDefault(_volumeOff);\nvar _orderRandom = require('../assets/order-random.svg');\nvar _orderRandom2 = _interopRequireDefault(_orderRandom);\nvar _orderList = require('../assets/order-list.svg');\nvar _orderList2 = _interopRequireDefault(_orderList);\nvar _menu = require('../assets/menu.svg');\nvar _menu2 = _interopRequireDefault(_menu);\nvar _loopAll = require('../assets/loop-all.svg');\nvar _loopAll2 = _interopRequireDefault(_loopAll);\nvar _loopOne = require('../assets/loop-one.svg');\nvar _loopOne2 = _interopRequireDefault(_loopOne);\nvar _loopNone = require('../assets/loop-none.svg');\nvar _loopNone2 = _interopRequireDefault(_loopNone);\nvar _loading = require('../assets/loading.svg');\nvar _loading2 = _interopRequireDefault(_loading);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nvar Icons = {\n play: _play2.default,\n pause: _pause2.default,\n volumeUp: _volumeUp2.default,\n volumeDown: _volumeDown2.default,\n volumeOff: _volumeOff2.default,\n orderRandom: _orderRandom2.default,\n orderList: _orderList2.default,\n menu: _menu2.default,\n loopAll: _loopAll2.default,\n loopOne: _loopOne2.default,\n loopNone: _loopNone2.default,\n loading: _loading2.default\n};\nexports.default = Icons;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/icons.js\n// module id = 2\n// module chunks = 0","'use strict';\nmodule.exports = require('./compile/runtime');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/art-template/lib/runtime.js\n// module id = 3\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nrequire('../css/index.scss');\nvar _player = require('./player');\nvar _player2 = _interopRequireDefault(_player);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nconsole.log('\\n' + ' %c APlayer v' + APLAYER_VERSION + ' ' + GIT_HASH + ' %c http://aplayer.js.org ' + '\\n' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nexports.default = _player2.default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/index.js\n// module id = 4\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _promisePolyfill = require('promise-polyfill');\nvar _promisePolyfill2 = _interopRequireDefault(_promisePolyfill);\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nvar _options = require('./options');\nvar _options2 = _interopRequireDefault(_options);\nvar _template = require('./template');\nvar _template2 = _interopRequireDefault(_template);\nvar _bar = require('./bar');\nvar _bar2 = _interopRequireDefault(_bar);\nvar _user = require('./user');\nvar _user2 = _interopRequireDefault(_user);\nvar _lrc = require('./lrc');\nvar _lrc2 = _interopRequireDefault(_lrc);\nvar _controller = require('./controller');\nvar _controller2 = _interopRequireDefault(_controller);\nvar _timer = require('./timer');\nvar _timer2 = _interopRequireDefault(_timer);\nvar _events = require('./events');\nvar _events2 = _interopRequireDefault(_events);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar instances = [];\nvar APlayer = function () {\n function APlayer(options) {\n _classCallCheck(this, APlayer);\n this.options = (0, _options2.default)(options);\n this.container = this.options.container;\n this.playIndex = 0;\n this.paused = true;\n this.playedPromise = _promisePolyfill2.default.resolve();\n this.randomOrder = _utils2.default.randomOrder(this.options.audio.length);\n this.container.classList.add('aplayer');\n if (this.options.lrc) {\n this.container.classList.add('aplayer-withlrc');\n }\n if (this.options.audio.length > 1) {\n this.container.classList.add('aplayer-withlist');\n }\n if (_utils2.default.isMobile) {\n this.container.classList.add('aplayer-mobile');\n }\n this.arrow = this.container.offsetWidth <= 300;\n if (this.arrow) {\n this.container.classList.add('aplayer-arrow');\n }\n if (this.options.mini) {\n this.container.classList.add('aplayer-narrow');\n }\n this.container = this.options.container;\n if (this.options.lrc === 2 || this.options.lrc === true) {\n var lrcEle = this.container.getElementsByClassName('aplayer-lrc-content');\n for (var i = 0; i < lrcEle.length; i++) {\n if (this.options.audio[i]) {\n this.options.audio[i].lrc = lrcEle[i].innerHTML;\n }\n }\n }\n this.template = new _template2.default({\n container: this.container,\n options: this.options,\n randomOrder: this.randomOrder\n });\n if (this.template.info.offsetWidth < 200) {\n this.template.time.classList.add('aplayer-time-narrow');\n }\n if (this.options.lrc) {\n this.lrc = new _lrc2.default({\n container: this.template.lrc,\n async: this.options.lrc === 3,\n content: this.options.audio.map(function (item) {\n return item.lrc;\n }),\n player: this\n });\n }\n this.events = new _events2.default();\n this.user = new _user2.default(this);\n this.bar = new _bar2.default(this.template);\n this.controller = new _controller2.default(this);\n this.timer = new _timer2.default(this);\n this.initAudio();\n if (this.options.order === 'random') {\n this.switchAudio(this.randomOrder[0]);\n } else {\n this.switchAudio(0);\n }\n if (this.options.autoplay) {\n this.play();\n }\n instances.push(this);\n }\n _createClass(APlayer, [\n {\n key: 'initAudio',\n value: function initAudio() {\n var _this = this;\n this.audio = document.createElement('audio');\n this.audio.preload = this.options.preload;\n var _loop = function _loop(i) {\n _this.audio.addEventListener(_this.events.audioEvents[i], function () {\n _this.events.trigger(_this.events.audioEvents[i]);\n });\n };\n for (var i = 0; i < this.events.audioEvents.length; i++) {\n _loop(i);\n }\n this.on('play', function () {\n if (_this.paused) {\n _this.play();\n }\n });\n this.on('pause', function () {\n if (!_this.paused) {\n _this.pause();\n }\n });\n this.on('durationchange', function () {\n if (_this.audio.duration !== 1) {\n _this.template.dtime.innerHTML = _utils2.default.secondToTime(_this.audio.duration);\n }\n });\n this.on('progress', function () {\n var percentage = _this.audio.buffered.length ? _this.audio.buffered.end(_this.audio.buffered.length - 1) / _this.audio.duration : 0;\n _this.bar.set('loaded', percentage, 'width');\n });\n this.on('error', function () {\n _this.template.author.innerHTML = ' - Error happens \\u2565﹏\\u2565';\n });\n this.on('ended', function () {\n if (_this.options.loop === 'none') {\n if (_this.options.order === 'list') {\n if (_this.playIndex < _this.options.audio.length - 1) {\n _this.switchAudio((_this.playIndex + 1) % _this.options.audio.length);\n _this.play();\n } else {\n _this.switchAudio((_this.playIndex + 1) % _this.options.audio.length);\n _this.pause();\n }\n } else if (_this.options.order === 'random') {\n if (_this.randomOrder.indexOf(_this.playIndex) < _this.randomOrder.length - 1) {\n _this.switchAudio(_this.nextRandomNum());\n _this.play();\n } else {\n _this.switchAudio(_this.nextRandomNum());\n _this.pause();\n }\n }\n } else if (_this.options.loop === 'one') {\n _this.switchAudio(_this.playIndex);\n _this.play();\n } else if (_this.options.loop === 'all') {\n if (_this.options.order === 'list') {\n _this.switchAudio((_this.playIndex + 1) % _this.options.audio.length);\n } else if (_this.options.order === 'random') {\n _this.switchAudio(_this.nextRandomNum());\n }\n _this.play();\n }\n });\n this.volume(this.user.get('volume'), true);\n }\n },\n {\n key: 'switchAudio',\n value: function switchAudio(index) {\n var _this2 = this;\n this.handlePlayPromise(function () {\n _this2.events.trigger('switchaudio', index);\n if (typeof index !== 'undefined') {\n _this2.playIndex = index;\n }\n if (_this2.options.audio[_this2.playIndex].cover) {\n _this2.template.pic.style.backgroundImage = 'url(\\'' + _this2.options.audio[_this2.playIndex].cover + '\\')';\n } else {\n _this2.template.pic.style.backgroundImage = '';\n }\n if (_this2.options.audio[_this2.playIndex].theme) {\n _this2.template.pic.style.backgroundColor = _this2.options.audio[_this2.playIndex].theme;\n _this2.template.played.style.background = _this2.options.audio[_this2.playIndex].theme;\n _this2.template.thumb.style.background = _this2.options.audio[_this2.playIndex].theme;\n _this2.template.volume.style.background = _this2.options.audio[_this2.playIndex].theme;\n }\n _this2.template.title.innerHTML = _this2.options.audio[_this2.playIndex].name;\n _this2.template.author.innerHTML = _this2.options.audio[_this2.playIndex].artist ? ' - ' + _this2.options.audio[_this2.playIndex].artist : '';\n var light = _this2.container.getElementsByClassName('aplayer-list-light')[0];\n if (light) {\n light.classList.remove('aplayer-list-light');\n }\n _this2.container.querySelectorAll('.aplayer-list li')[_this2.playIndex].classList.add('aplayer-list-light');\n _this2.template.list.scrollTop = _this2.playIndex * 33;\n _this2.audio.src = _this2.options.audio[_this2.playIndex].url;\n _this2.seek(0);\n var playPromise = void 0;\n if (!_this2.paused) {\n playPromise = _promisePolyfill2.default.resolve(_this2.audio.play()).catch(function (err) {\n console.error(err);\n _this2.pause();\n });\n }\n _this2.lrc && _this2.lrc.switch(_this2.playIndex);\n if (_this2.audio.duration !== 1) {\n _this2.template.dtime.innerHTML = _this2.audio.duration ? _utils2.default.secondToTime(_this2.audio.duration) : '00:00';\n }\n return playPromise;\n });\n }\n },\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n if (this.audio.duration) {\n time = Math.min(time, this.audio.duration);\n }\n this.audio.currentTime = time;\n if (isNaN(this.audio.duration)) {\n this.bar.set('played', 0, 'width');\n } else {\n this.bar.set('played', time / this.audio.duration, 'width');\n }\n this.template.ptime.innerHTML = _utils2.default.secondToTime(time);\n }\n },\n {\n key: 'play',\n value: function play() {\n var _this3 = this;\n this.handlePlayPromise(function () {\n if (_this3.paused) {\n _this3.paused = false;\n _this3.template.button.classList.remove('aplayer-play');\n _this3.template.button.classList.add('aplayer-pause');\n _this3.template.button.innerHTML = '';\n setTimeout(function () {\n _this3.template.button.innerHTML = _icons2.default.pause;\n }, 100);\n }\n var playPromise = _promisePolyfill2.default.resolve(_this3.audio.play()).catch(function (err) {\n console.error(err);\n _this3.pause();\n });\n _this3.timer.enable('loading');\n _this3.timer.enable('progress');\n if (_this3.options.mutex) {\n for (var i = 0; i < instances.length; i++) {\n if (_this3 !== instances[i]) {\n instances[i].pause();\n }\n }\n }\n return playPromise;\n });\n }\n },\n {\n key: 'pause',\n value: function pause() {\n var _this4 = this;\n this.handlePlayPromise(function () {\n if (!_this4.paused) {\n _this4.paused = true;\n _this4.template.button.classList.remove('aplayer-pause');\n _this4.template.button.classList.add('aplayer-play');\n _this4.template.button.innerHTML = '';\n setTimeout(function () {\n _this4.template.button.innerHTML = _icons2.default.play;\n }, 100);\n }\n _this4.audio.pause();\n _this4.timer.disable('loading');\n _this4.timer.disable('progress');\n });\n }\n },\n {\n key: 'switchVolumeIcon',\n value: function switchVolumeIcon() {\n if (this.volume() >= 0.95) {\n this.template.volumeButton.innerHTML = _icons2.default.volumeUp;\n } else if (this.volume() > 0) {\n this.template.volumeButton.innerHTML = _icons2.default.volumeDown;\n } else {\n this.template.volumeButton.innerHTML = _icons2.default.volumeOff;\n }\n }\n },\n {\n key: 'volume',\n value: function volume(percentage, nostorage) {\n percentage = parseFloat(percentage);\n if (!isNaN(percentage)) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.bar.set('volume', percentage, 'height');\n if (!nostorage) {\n this.user.set('volume', percentage);\n }\n this.audio.volume = percentage;\n if (this.audio.muted) {\n this.audio.muted = false;\n }\n this.switchVolumeIcon();\n }\n return this.audio.muted ? 0 : this.audio.volume;\n }\n },\n {\n key: 'on',\n value: function on(name, callback) {\n this.events.on(name, callback);\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.template.button.classList.contains('aplayer-play')) {\n this.play();\n } else if (this.template.button.classList.contains('aplayer-pause')) {\n this.pause();\n }\n }\n },\n {\n key: 'isMultiple',\n value: function isMultiple() {\n return this.options.audio.length > 1;\n }\n },\n {\n key: 'nextRandomNum',\n value: function nextRandomNum() {\n if (this.isMultiple()) {\n var index = this.randomOrder.indexOf(this.playIndex);\n if (index === this.randomOrder.length - 1) {\n return this.randomOrder[0];\n } else {\n return this.randomOrder[index + 1];\n }\n } else {\n return 0;\n }\n }\n },\n {\n key: 'addAudio',\n value: function addAudio(newMusic) {\n this.events.trigger('addaudio', newMusic);\n var wasSingle = !this.isMultiple();\n this.options.audio = this.options.audio.concat(newMusic);\n var newItemHTML = '';\n for (var i = 0; i < newMusic.length; i++) {\n newItemHTML += '{{$value[1]}}
\n{{/each}}\n\n\n// WEBPACK FOOTER //\n// ./src/template/lrc.art","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Controller = function () {\n function Controller(player) {\n _classCallCheck(this, Controller);\n this.player = player;\n this.initPlayButton();\n this.initList();\n this.initPlayBar();\n if (this.player.isMultiple()) {\n this.initOrderButton();\n }\n this.initLoopButton();\n this.initMenuButton();\n if (!_utils2.default.isMobile) {\n this.initVolumeButton();\n }\n }\n _createClass(Controller, [\n {\n key: 'initPlayButton',\n value: function initPlayButton() {\n var _this = this;\n this.player.template.pic.addEventListener('click', function () {\n _this.player.toggle();\n });\n }\n },\n {\n key: 'initList',\n value: function initList() {\n var _this2 = this;\n this.player.template.list.addEventListener('click', function (e) {\n var target = void 0;\n if (e.target.tagName.toUpperCase() === 'LI') {\n target = e.target;\n } else {\n target = e.target.parentElement;\n }\n var audioIndex = parseInt(target.getElementsByClassName('aplayer-list-index')[0].innerHTML) - 1;\n if (audioIndex !== _this2.player.playIndex) {\n _this2.player.switchAudio(audioIndex);\n _this2.player.play();\n } else {\n _this2.player.toggle();\n }\n });\n }\n },\n {\n key: 'initPlayBar',\n value: function initPlayBar() {\n var _this3 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this3.player.template.barWrap)) / _this3.player.template.barWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this3.player.bar.set('played', percentage, 'width');\n _this3.player.lrc && _this3.player.lrc.update(percentage * _this3.player.audio.duration);\n _this3.player.template.ptime.innerHTML = _utils2.default.secondToTime(percentage * _this3.player.audio.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getElementViewLeft(_this3.player.template.barWrap)) / _this3.player.template.barWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this3.player.bar.set('played', percentage, 'width');\n _this3.player.seek(_this3.player.bar.get('played', 'width') * _this3.player.audio.duration);\n _this3.player.timer.enable('progress');\n };\n this.player.template.barWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n _this3.player.timer.disable('progress');\n document.addEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this4 = this;\n this.player.template.volumeButton.addEventListener('click', function () {\n if (_this4.player.audio.muted) {\n _this4.player.audio.muted = false;\n _this4.player.switchVolumeIcon();\n _this4.player.bar.set('volume', _this4.player.volume(), 'height');\n } else {\n _this4.player.audio.muted = true;\n _this4.player.switchVolumeIcon();\n _this4.player.bar.set('volume', 0, 'height');\n }\n });\n var thumbMove = function thumbMove(e) {\n var percentage = 1 - ((e.clientY || e.changedTouches[0].clientY) - _utils2.default.getElementViewTop(_this4.player.template.volumeBar)) / _this4.player.template.volumeBar.clientHeight;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.volume(percentage);\n };\n var thumbUp = function thumbUp(e) {\n _this4.player.template.volumeBarWrap.classList.remove('aplayer-volume-bar-wrap-active');\n document.removeEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n document.removeEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n var percentage = 1 - ((e.clientY || e.changedTouches[0].clientY) - _utils2.default.getElementViewTop(_this4.player.template.volumeBar)) / _this4.player.template.volumeBar.clientHeight;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.volume(percentage);\n };\n this.player.template.volumeBarWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n _this4.player.template.volumeBarWrap.classList.add('aplayer-volume-bar-wrap-active');\n document.addEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n document.addEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n });\n }\n },\n {\n key: 'initOrderButton',\n value: function initOrderButton() {\n var _this5 = this;\n this.player.template.order.addEventListener('click', function () {\n if (_this5.player.options.order === 'list') {\n _this5.player.options.order = 'random';\n _this5.player.template.order.innerHTML = _icons2.default.orderRandom;\n } else if (_this5.player.options.order === 'random') {\n _this5.player.options.order = 'list';\n _this5.player.template.order.innerHTML = _icons2.default.orderList;\n }\n });\n }\n },\n {\n key: 'initLoopButton',\n value: function initLoopButton() {\n var _this6 = this;\n this.player.template.loop.addEventListener('click', function () {\n if (_this6.player.isMultiple()) {\n if (_this6.player.options.loop === 'one') {\n _this6.player.options.loop = 'none';\n _this6.player.template.loop.innerHTML = _icons2.default.loopNone;\n } else if (_this6.player.options.loop === 'none') {\n _this6.player.options.loop = 'all';\n _this6.player.template.loop.innerHTML = _icons2.default.loopAll;\n } else if (_this6.player.options.loop === 'all') {\n _this6.player.options.loop = 'one';\n _this6.player.template.loop.innerHTML = _icons2.default.loopOne;\n }\n } else {\n if (_this6.player.options.loop === 'one' || _this6.player.options.loop === 'all') {\n _this6.player.options.loop = 'none';\n _this6.player.template.loop.innerHTML = _icons2.default.loopNone;\n } else if (_this6.player.options.loop === 'none') {\n _this6.player.options.loop = 'all';\n _this6.player.template.loop.innerHTML = _icons2.default.loopAll;\n }\n }\n });\n }\n },\n {\n key: 'initMenuButton',\n value: function initMenuButton() {\n var _this7 = this;\n this.player.template.list.style.height = 33 * this.player.options.audio.length - 1 + 'px';\n this.player.template.listOl.style.height = 33 * this.player.options.audio.length - 1 + 'px';\n this.player.template.menu.addEventListener('click', function () {\n if (!_this7.player.template.list.classList.contains('aplayer-list-hide')) {\n _this7.player.template.list.classList.add('aplayer-list-hide');\n } else {\n _this7.player.template.list.classList.remove('aplayer-list-hide');\n }\n });\n }\n }\n ]);\n return Controller;\n}();\nexports.default = Controller;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/controller.js\n// module id = 32\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Timer = function () {\n function Timer(player) {\n _classCallCheck(this, Timer);\n this.player = player;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n this.types = [\n 'loading',\n 'progress'\n ];\n this.init();\n }\n _createClass(Timer, [\n {\n key: 'init',\n value: function init() {\n var _this = this;\n this.types.map(function (item) {\n _this['init' + item + 'Checker']();\n return item;\n });\n }\n },\n {\n key: 'initprogressChecker',\n value: function initprogressChecker() {\n var _this2 = this;\n this.progressChecker = setInterval(function () {\n if (_this2.enableprogressChecker) {\n _this2.player.bar.set('played', _this2.player.audio.currentTime / _this2.player.audio.duration, 'width');\n _this2.player.lrc && _this2.player.lrc.update();\n var currentTime = _utils2.default.secondToTime(_this2.player.audio.currentTime);\n if (_this2.player.template.ptime.innerHTML !== currentTime) {\n _this2.player.template.ptime.innerHTML = currentTime;\n }\n }\n }, 100);\n }\n },\n {\n key: 'initloadingChecker',\n value: function initloadingChecker() {\n var _this3 = this;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.loadingChecker = setInterval(function () {\n if (_this3.enableloadingChecker) {\n currentPlayPos = _this3.player.audio.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this3.player.audio.paused) {\n _this3.player.container.classList.add('aplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this3.player.audio.paused) {\n _this3.player.container.classList.remove('aplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }\n }, 100);\n }\n },\n {\n key: 'enable',\n value: function enable(type) {\n this['enable' + type + 'Checker'] = true;\n if (type === 'fps') {\n this.initfpsChecker();\n }\n }\n },\n {\n key: 'disable',\n value: function disable(type) {\n this['enable' + type + 'Checker'] = false;\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n var _this4 = this;\n this.types.map(function (item) {\n _this4['enable' + item + 'Checker'] = false;\n _this4[item + 'Checker'] && clearInterval(_this4[item + 'Checker']);\n return item;\n });\n }\n }\n ]);\n return Timer;\n}();\nexports.default = Timer;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/timer.js\n// module id = 33\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.audioEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'destroy',\n 'switchaudio',\n 'addaudio',\n 'removeaudio'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, info) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](info);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.audioEvents.indexOf(name) !== -1) {\n return 'audio';\n }\n console.error('Unknown event name: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nexports.default = Events;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/events.js\n// module id = 34\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index e58be1ed..490c195c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -16,8 +16,8 @@ gtag('config', 'UA-48084758-8'); - - + +