This repository has been archived by the owner on Oct 10, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathH5AudioControls.js.map
1 lines (1 loc) · 40.8 KB
/
H5AudioControls.js.map
1
{"version":3,"sources":["webpack://H5AudioControls/webpack/universalModuleDefinition","webpack://H5AudioControls/webpack/bootstrap","webpack://H5AudioControls/./node_modules/awesome-js-funcs/judgeBasic/isString.js","webpack://H5AudioControls/./src/audio.scss","webpack://H5AudioControls/./node_modules/css-loader/lib/css-base.js","webpack://H5AudioControls/./node_modules/css-loader/lib/url/escape.js","webpack://H5AudioControls/./node_modules/style-loader/lib/addStyles.js","webpack://H5AudioControls/./node_modules/style-loader/lib/urls.js","webpack://H5AudioControls/./src/audio.scss?d2eb","webpack://H5AudioControls/./src/audioPause.svg","webpack://H5AudioControls/./src/audioPlay.svg","webpack://H5AudioControls/./src/index.js"],"names":["H5AudioControls","audioSrc","context","document","body","position","buttonSize","picSize","autoPlay","config","isString","querySelector","style","audioElement","audioButton","createElement","audio","audioPic","load","Promise","resolve","href","classList","add","_style","musicControlWrapper","_initButtonSize","innerHTML","musicControl","play","appendChild","_initAudioPic","_changeUI","eventBind","setTimeout","addEventListener","e","stopPropagation","contains","pause","shortW","window","innerWidth","innerHeight","cssText","_play","wxFakePlay","WeixinJSBridge","invoke","stop","currentTime","_changeUIToPlay","remove","_changeUIToPause","isPlaying","paused"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;;AClFA;AAAA;AACA;AACA;AACA,aAAa;AACb;AACgB;AAChB;AACA,CAAC,E;;;;;;;;;;;ACPD,aAAa,mBAAO,CAAC,iGAA8C;AACnE,2BAA2B,mBAAO,CAAC,6FAA4C;AAC/E;;;AAGA;AACA,cAAc,QAAS,oCAAoC,uBAAuB,iBAAiB,oBAAoB,qBAAqB,gBAAgB,iBAAiB,kBAAkB,4BAA4B,wBAAwB,oDAAoD,kBAAkB,iBAAiB,+BAA+B,oBAAoB,GAAG,8CAA8C,YAAY,WAAW,GAAG,+CAA+C,WAAW,aAAa,GAAG,kDAAkD,aAAa,cAAc,GAAG,iDAAiD,YAAY,cAAc,GAAG,0CAA0C,UAAU,+BAA+B,KAAK,QAAQ,kCAAkC,KAAK,GAAG,8BAA8B,mBAAmB,eAAe,gBAAgB,GAAG,8CAA8C,+BAA+B,mBAAO,CAAC,4CAAiB,kBAAkB,+BAA+B,4DAA4D,GAAG,+CAA+C,+BAA+B,mBAAO,CAAC,8CAAkB,kBAAkB,+BAA+B,GAAG;;AAE/vC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACfA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,uDAAQ;;AAE9B;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA,mBAAmB,2BAA2B;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,mBAAmB;AACnC;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;;AAEA,QAAQ,uBAAuB;AAC/B;AACA;AACA,GAAG;AACH;;AAEA,iBAAiB,uBAAuB;AACxC;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA,cAAc;;AAEd,kDAAkD,sBAAsB;AACxE;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA,KAAK,KAAwC,EAAE,EAE7C;;AAEF,QAAQ,sBAAiB;AACzB;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uDAAu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","file":"H5AudioControls.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([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"H5AudioControls\"] = factory();\n\telse\n\t\troot[\"H5AudioControls\"] = factory();\n})(window, function() {\nreturn "," \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, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n","/**\r\n * 判断是否字符串\r\n * @param str\r\n * @returns {boolean}\r\n */\r\nexport default (function (str) {\r\n return typeof str === 'string' && str.constructor === String;\r\n});","var escape = require(\"../node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".src-audio__musicControlWrapper {\\n position: absolute;\\n z-index: 999;\\n max-width: 15vw;\\n max-height: 15vw;\\n width: 15vw;\\n height: 15vw;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n -webkit-tap-highlight-color: rgba(255, 0, 0, 0);\\n outline: none;\\n border: none;\\n touch-action: manipulation;\\n cursor: pointer;\\n}\\n\\n.src-audio__musicControlWrapper.left-top {\\n left: 0;\\n top: 0;\\n}\\n\\n.src-audio__musicControlWrapper.top-right {\\n top: 0;\\n right: 0;\\n}\\n\\n.src-audio__musicControlWrapper.right-bottom {\\n right: 0;\\n bottom: 0;\\n}\\n\\n.src-audio__musicControlWrapper.left-bottom {\\n left: 0;\\n bottom: 0;\\n}\\n\\n@keyframes src-audio__reverseRotataZ {\\n from {\\n transform: rotateZ(0deg);\\n }\\n to {\\n transform: rotateZ(-360deg);\\n }\\n}\\n\\n.src-audio__musicControl {\\n display: block;\\n width: 60%;\\n height: 60%;\\n}\\n\\n.src-audio__musicControl.src-audio__play {\\n background: url(\" + escape(require(\"./audioPlay.svg\")) + \") no-repeat;\\n background-size: 100% 100%;\\n animation: src-audio__reverseRotataZ 2s linear infinite;\\n}\\n\\n.src-audio__musicControl.src-audio__pause {\\n background: url(\" + escape(require(\"./audioPause.svg\")) + \") no-repeat;\\n background-size: 100% 100%;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"musicControlWrapper\": \"src-audio__musicControlWrapper\",\n\t\"musicControl\": \"src-audio__musicControl\",\n\t\"play\": \"src-audio__play\",\n\t\"reverseRotataZ\": \"src-audio__reverseRotataZ\",\n\t\"pause\": \"src-audio__pause\"\n};","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","module.exports = function escape(url) {\n if (typeof url !== 'string') {\n return url\n }\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]/.test(url)) {\n return '\"' + url.replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n') + '\"'\n }\n\n return url\n}\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target, parent) {\n if (parent){\n return parent.querySelector(target);\n }\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target, parent) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target, parent);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n if (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertAt.before, target);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\n\tif(options.attrs.nonce === undefined) {\n\t\tvar nonce = getNonce();\n\t\tif (nonce) {\n\t\t\toptions.attrs.nonce = nonce;\n\t\t}\n\t}\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction getNonce() {\n\tif (typeof __webpack_nonce__ === 'undefined') {\n\t\treturn null;\n\t}\n\n\treturn __webpack_nonce__;\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n","\nvar content = require(\"!!../node_modules/css-loader/index.js??ref--5-1!../node_modules/sass-loader/lib/loader.js??ref--5-2!./audio.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../node_modules/css-loader/index.js??ref--5-1!../node_modules/sass-loader/lib/loader.js??ref--5-2!./audio.scss\", function() {\n\t\tvar newContent = require(\"!!../node_modules/css-loader/index.js??ref--5-1!../node_modules/sass-loader/lib/loader.js??ref--5-2!./audio.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4Ig0KICAgICB2aWV3Qm94PSIwIDAgNjQgNjQiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KICAgIC5zdDB7b3BhY2l0eTowLjI7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7fQ0KICAgIC5zdDF7ZmlsbDojRkZGRkZGO30NCiAgICAuc3Qye2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRkZGRjt9DQogIDwvc3R5bGU+DQogIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zMiwyLjhDMTUuOSwyLjgsMi44LDE1LjksMi44LDMyUzE1LjksNjEuMiwzMiw2MS4yUzYxLjIsNDguMSw2MS4yLDMyUzQ4LjEsMi44LDMyLDIuOEwzMiwyLjh6Ii8+DQogIDxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0zMiwwQzE0LjMsMCwwLDE0LjMsMCwzMnMxNC4zLDMyLDMyLDMyczMyLTE0LjMsMzItMzJTNDkuNywwLDMyLDB6IE0yLjgsMzJDMi44LDE1LjksMTUuOSwyLjgsMzIsMi44DQoJYzcuNywwLDE0LjYsMywxOS45LDcuOEwxMC42LDUxLjlDNS43LDQ2LjYsMi44LDM5LjcsMi44LDMyeiBNMzIsNjEuMmMtNy43LDAtMTQuNi0zLTE5LjktNy44bDQxLjMtNDEuM2M0LjgsNS4yLDcuOCwxMi4yLDcuOCwxOS45DQoJQzYxLjIsNDguMSw0OC4xLDYxLjIsMzIsNjEuMnoiLz4NCiAgPHBhdGggY2xhc3M9InN0MiIgZD0iTTMwLjMsMTEuMmwtMi4xLDAuNkwzNi4xLDM5Yy01LjYtMC44LTEwLjUsNC0xMC4xLDguN2MwLjEsMS42LDEuMywyLjksMiwzLjVjNCwzLjQsOS40LTAuMiwxMS4zLTUuNw0KCWMwLjgtMi4zLDAuNC00LTAuOC04LjFsLTQuOS0xNi45YzIuNS0wLjgsNy43LDEsOS40LDMuNWMxLjEsMS42LDEuOCwzLjksMS40LDUuOGMtMC4xLDAuNS0wLjQsMiwwLDEuN2MwLjctMC42LDAuOS0xLjIsMS4zLTIuNA0KCWMwLjMtMS4xLDAuNC0yLjcsMC4zLTMuN0M0NC40LDE1LjQsMzMuMywxOC4zLDMwLjMsMTEuMkwzMC4zLDExLjJ6Ii8+DQo8L3N2Zz4NCg==\"","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNjQgNjQiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe29wYWNpdHk6MC4yO2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO30NCgkuc3Qxe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRkZGRjt9DQo8L3N0eWxlPg0KPGc+DQoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTMyLDIuOEMxNS45LDIuOCwyLjgsMTUuOSwyLjgsMzJTMTUuOSw2MS4yLDMyLDYxLjJTNjEuMiw0OC4xLDYxLjIsMzJTNDguMSwyLjgsMzIsMi44TDMyLDIuOHoiLz4NCgk8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMzIsMEMxNC4zLDAsMCwxNC4zLDAsMzJzMTQuMywzMiwzMiwzMnMzMi0xNC4zLDMyLTMyUzQ5LjcsMCwzMiwweiBNMzIsNjEuMkMxNS45LDYxLjIsMi44LDQ4LjEsMi44LDMyDQoJCVMxNS45LDIuOCwzMiwyLjhTNjEuMiwxNS45LDYxLjIsMzJTNDguMSw2MS4yLDMyLDYxLjJ6Ii8+DQoJPHBhdGggY2xhc3M9InN0MSIgZD0iTTMwLjMsMTEuMmwtMi4xLDAuNkwzNi4xLDM5Yy01LjYtMC44LTEwLjUsNC0xMC4xLDguN2MwLjEsMS42LDEuMywyLjksMiwzLjVjNCwzLjQsOS40LTAuMiwxMS4zLTUuNw0KCQljMC44LTIuMywwLjQtNC0wLjgtOC4xbC00LjktMTYuOWMyLjUtMC44LDcuNywxLDkuNCwzLjVjMS4xLDEuNiwxLjgsMy45LDEuNCw1LjhjLTAuMSwwLjUtMC40LDIsMCwxLjdjMC43LTAuNiwwLjktMS4yLDEuMy0yLjQNCgkJYzAuMy0xLjEsMC40LTIuNywwLjMtMy43QzQ0LjQsMTUuNCwzMy4zLDE4LjMsMzAuMywxMS4yTDMwLjMsMTEuMnoiLz4NCjwvZz4NCjwvc3ZnPg0K\"","import _style from './audio.scss';\r\nimport isString from 'awesome-js-funcs/judgeBasic/isString';\r\n\r\n/**\r\n * H5AudioControls\r\n * @param audioSrc\r\n * @param context default: body\r\n * @param position 'left-top'|'top-right'(default)|'right-bottom'|'left-bottom'\r\n *\r\n * Property:\r\n * audioSrc\r\n * config: {\r\n * context\r\n * position\r\n * buttonSize\r\n * picSize\r\n * }\r\n * audioElement: {\r\n * audioButton\r\n * audio\r\n * audioPic\r\n * }\r\n *\r\n * Function:\r\n * load\r\n * play\r\n * pause\r\n * isPlaying\r\n * _changeUI\r\n * _changeUIToPlay\r\n * _changeUIToPause\r\n */\r\nexport default class H5AudioControls {\r\n constructor(audioSrc, {\r\n context = document.body,\r\n position = 'top-right',\r\n buttonSize = '',\r\n picSize = '',\r\n autoPlay = true,\r\n } = {}) {\r\n this.config = {\r\n context: isString(context)\r\n ? document.querySelector(context)\r\n : context,\r\n position: position,\r\n buttonSize: isString(buttonSize) ? buttonSize : buttonSize + 'px',\r\n picSize: isString(picSize) ? picSize : picSize + 'px',\r\n autoPlay: autoPlay,\r\n };\r\n\r\n this.config.context.style.position = 'relative';\r\n this.audioSrc = audioSrc;\r\n\r\n this.audioElement = {\r\n audioButton: document.createElement('a'),\r\n audio: null,\r\n audioPic: null,\r\n };\r\n };\r\n\r\n\r\n load() {\r\n return new Promise(resolve => {\r\n this.audioElement.audioButton.href = 'javascript:;';\r\n this.audioElement.audioButton.classList.add(_style.musicControlWrapper, this.config.position);\r\n\r\n this._initButtonSize();\r\n\r\n this.audioElement.audioButton.innerHTML = `\r\n <span class=${_style.musicControl} ${_style.play}>\r\n <audio style=\"display: none;\" loop preload controls>\r\n <source src=${this.audioSrc} type=\"audio/mpeg\">\r\n </audio>\r\n </span>\r\n `;\r\n\r\n this.config.context.appendChild(this.audioElement.audioButton);\r\n this.audioElement.audioPic = this.audioElement.audioButton.querySelector('.' + _style.musicControl);\r\n this.audioElement.audio = this.audioElement.audioPic.querySelector('audio');\r\n\r\n this._initAudioPic();\r\n this._changeUI();\r\n this.eventBind();\r\n\r\n if (this.config.autoPlay) {\r\n this.play();\r\n }\r\n\r\n setTimeout(resolve, 0);\r\n });\r\n\r\n };\r\n\r\n eventBind() {\r\n this.audioElement.audioButton.addEventListener('click', e => {\r\n e.stopPropagation();\r\n\r\n if (this.audioElement.audioPic.classList.contains(_style.play)) {\r\n // 正在播放\r\n this.pause();\r\n } else {\r\n // 暂停中\r\n this.play();\r\n }\r\n });\r\n };\r\n\r\n _initButtonSize() {\r\n if (!this.config.buttonSize) {\r\n let\r\n shortW = window.innerWidth > window.innerHeight\r\n ? window.innerHeight\r\n : window.innerWidth\r\n ;\r\n this.config.buttonSize = shortW * .15 + 'px';\r\n }\r\n\r\n this.audioElement.audioButton.style.cssText = 'width: ' + this.config.buttonSize\r\n + '; height: ' + this.config.buttonSize;\r\n };\r\n\r\n _initAudioPic() {\r\n if (this.config.picSize) {\r\n this.audioElement.audioPic.style.cssText = 'width: ' + this.config.picSize\r\n + '; height: ' + this.config.picSize;\r\n }\r\n }\r\n\r\n _play() {\r\n this.audioElement.audio.play();\r\n setTimeout(() => this._changeUI(), 0);\r\n }\r\n\r\n play() {\r\n const wxFakePlay = () => WeixinJSBridge.invoke('getNetworkType', {}, () => this._play(), false);\r\n\r\n if (window.WeixinJSBridge) {\r\n wxFakePlay();\r\n } else {\r\n document.addEventListener('WeixinJSBridgeReady', () => wxFakePlay(), false);\r\n }\r\n\r\n this._play();\r\n };\r\n\r\n pause() {\r\n this.audioElement.audio.pause();\r\n setTimeout(() => this._changeUI(), 0);\r\n };\r\n\r\n stop() {\r\n this.audioElement.audio.currentTime = 0;\r\n this.audioElement.audio.pause();\r\n setTimeout(() => this._changeUI(), 0);\r\n };\r\n\r\n _changeUIToPlay() {\r\n this.audioElement.audioPic.classList.remove(_style.pause);\r\n this.audioElement.audioPic.classList.add(_style.play);\r\n };\r\n\r\n _changeUIToPause() {\r\n this.audioElement.audioPic.classList.remove(_style.play);\r\n this.audioElement.audioPic.classList.add(_style.pause);\r\n };\r\n\r\n _changeUI() {\r\n if (this.isPlaying()) {\r\n this._changeUIToPlay();\r\n } else {\r\n this._changeUIToPause();\r\n }\r\n };\r\n\r\n isPlaying() {\r\n return !this.audioElement.audio.paused;\r\n };\r\n};\r\n\r\n"],"sourceRoot":""}