diff --git a/dist/DPlayer.min.css.map b/dist/DPlayer.min.css.map deleted file mode 100644 index b5a7e7c..0000000 --- a/dist/DPlayer.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"DPlayer.min.css","sourceRoot":""} \ No newline at end of file diff --git a/dist/DPlayer.min.js.map b/dist/DPlayer.min.js.map deleted file mode 100644 index 1ee02c0..0000000 --- a/dist/DPlayer.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///DPlayer.min.js","webpack:///webpack/bootstrap 39cffe2b7123e39230a0","webpack:///./src/svg.js","webpack:///./src/DPlayer.js","webpack:///./src/utils.js","webpack:///./src/option.js","webpack:///./src/api.js","webpack:///./src/i18n.js","webpack:///./src/html.js","webpack:///./src/video.js"],"names":["root","factory","exports","module","define","amd","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","svgSource","play","pause","volume-up","volume-down","volume-off","loop","full","full-in","setting","right","comment","comment-off","send","menu","camera","type","_classCallCheck","instance","Constructor","TypeError","_typeof","Symbol","iterator","obj","constructor","_createClass","defineProperties","target","props","length","descriptor","writable","key","protoProps","staticProps","console","log","utils","svg","handleOption","i18n","html","Video","isMobile","test","window","navigator","userAgent","index","DPlayer","option","_this","element","classList","add","video","quality","qualityIndex","defaultQuality","tran","lang","updateBar","percentage","direction","bar","style","eventTypes","event","trigger","_i","danmaku","innerHTML","main","arrow","offsetWidth","arrowStyle","document","createElement","head","appendChild","getElementsByClassName","initVideo","bezel","addEventListener","remove","playButton","paused","toggle","videoWrap","conMask","toggleController","contains","playedBar","loadedBar","pbar","pbarTimeTips","barWidth","lastPlayPos","currentPlayPos","bufferingDetected","danmakuTime","playedTime","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","callback","setTimeout","setCheckLoadingTime","checkLoading","setInterval","currentTime","attr","clearCheckLoadingTime","clearInterval","animationFrame","duration","secondToTime","showdan","dan","item","danIndex","danmakus","parseFloat","time","push","pushDanmaku","setTime","clearTime","e","clientWidth","clientX","getElementViewLeft","seek","width","isTipsShow","timeTipsHandler","bind","thumbMove","thumbUp","removeEventListener","volumeBar","volumeEle","volumeBarWrapWrap","volumeBarWrap","volumeicon","switchVolumeIcon","volumeMove","volume","volumeUp","hideTime","hideController","clearTimeout","closeSetting","closeComment","danOpacity","localStorage","getItem","settingHTML","settingIcon","settingBox","mask","original","settingEvent","openSetting","danContainer","loopEle","loopToggle","checked","showDanEle","showDanToggle","_i2","danTunnel","top","bottom","speed","speedItem","_i3","dataset","danmakuBar","danmakuBarWrapWrap","danmakuBarWrap","danmakuSettingBox","danmakuMove","items","_i4","opacity","setItem","danmakuUp","_i5","measureStyle","getComputedStyle","context","getContext","font","getPropertyValue","danmakuMeasure","text","measureText","readDanmaku","autoplay","commentInput","commentIcon","commentBox","commentSettingIcon","commentSettingBox","commentSendIcon","htmlEncode","str","replace","sendComment","blur","value","notice","danmakuData","token","player","id","author","user","color","querySelector","apiBackend","api","splice","border","theme","closeCommentSetting","toggleCommentSetting","disableHide","commentFocusTimeout","openComment","focus","fill","keyCode","resetAnimation","danWidth","_i6","transform","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","current","webkitEnterFullscreen","handleKeyDown","tag","activeElement","tagName","toUpperCase","editable","getAttribute","preventDefault","hotkey","clientRect","getBoundingClientRect","menuLeft","left","menuTop","clientY","offsetHeight","height","switchQuality","screenshot","camareIcon","canvas","drawImage","href","toDataURL","download","toString","ended","endpoints","finish","_this2","results","readCount","read","err","data","response","msg","status","_this3","apiurl","maximum","addition","slice","_readAllEndpoints","concat","apply","sort","a","b","display","_this4","itemHeight","danHeight","itemY","parseInt","danItemRight","ele","eleWidth","eleRight","danSpeed","getTunnel","tmp","_ret2","v","j","danRight","docFragment","createDocumentFragment","removeChild","itemWidth","error","pic","url","danTuel","_this5","exec","Hls","isSupported","hls","attachMedia","on","Events","MEDIA_ATTACHED","loadSource","MANIFEST_PARSED","levels","flvjs","flvPlayer","createPlayer","attachMediaElement","load","buffered","end","videos","switch","_this6","switchingQuality","videoHTML","videoEle","DOMParser","parseFromString","body","firstChild","parent","insertBefore","getElementsByTagName","prevVideo","timeTips","_this7","cumulativeOffset","offsetTop","offsetLeft","offsetParent","px","tx","innerText","noticeEle","noticeTime","second","add0","num","min","sec","actualLeft","elementScrollLeft","scrollLeft","documentElement","defaultApiBackend","defaultOption","language","indexOf","preload","contextmenu","link","defaultKey","SendXMLHttpRequest","success","fail","xhr","XMLHttpRequest","onreadystatechange","readyState","JSON","parse","responseText","code","open","stringify","endpoint","alert","cbk","tranZH","Danmaku is loading","Top","Bottom","Rolling","Input danmaku, hit Enter","About author","DPlayer feedback","About DPlayer","Loop","Speed","Opacity for danmaku","Normal","Please input danmaku content!","Set danmaku color","Set danmaku type","Danmaku","This video fails to load","Switching to","Switched to","logo","qualityList","contextmenuList","result","multi","durationArr","eventAll","eventCurrent","reduce","sum","cur","events","Math","max","tmptime","undefined"],"mappings":"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","file":"DPlayer.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(\"DPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DPlayer\"] = factory();\n\telse\n\t\troot[\"DPlayer\"] = factory();\n})(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(\"DPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DPlayer\"] = factory();\n\telse\n\t\troot[\"DPlayer\"] = factory();\n})(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 = 1);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar svgSource = {\n 'play': [\n '0 0 16 32',\n 'M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z'\n ],\n 'pause': [\n '0 0 17 32',\n 'M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z'\n ],\n 'volume-up': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056zM29.728 16q0 4.096-2.272 7.552t-6.048 5.056q-0.224 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.64 0.704-1.056 0.128-0.064 0.384-0.192t0.416-0.192q0.8-0.448 1.44-0.896 2.208-1.632 3.456-4.064t1.216-5.152-1.216-5.152-3.456-4.064q-0.64-0.448-1.44-0.896-0.128-0.096-0.416-0.192t-0.384-0.192q-0.704-0.416-0.704-1.056 0-0.448 0.32-0.8t0.832-0.352q0.224 0 0.448 0.096 3.776 1.632 6.048 5.056t2.272 7.552z'\n ],\n 'volume-down': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z'\n ],\n 'volume-off': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z'\n ],\n 'loop': [\n '0 0 32 32',\n 'M1.882 16.941c0 4.152 3.221 7.529 7.177 7.529v1.882c-4.996 0-9.060-4.222-9.060-9.412s4.064-9.412 9.060-9.412h7.96l-3.098-3.098 1.331-1.331 5.372 5.37-5.37 5.372-1.333-1.333 3.1-3.098h-7.962c-3.957 0-7.177 3.377-7.177 7.529zM22.94 7.529v1.882c3.957 0 7.177 3.377 7.177 7.529s-3.221 7.529-7.177 7.529h-7.962l3.098-3.098-1.331-1.331-5.37 5.37 5.372 5.372 1.331-1.331-3.1-3.1h7.96c4.998 0 9.062-4.222 9.062-9.412s-4.064-9.412-9.060-9.412z'\n ],\n 'full': [\n '0 0 32 33',\n 'M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z'\n ],\n 'full-in': [\n '0 0 32 33',\n 'M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z'\n ],\n 'setting': [\n '0 0 32 28',\n 'M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z'\n ],\n 'right': [\n '0 0 32 32',\n 'M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z'\n ],\n 'comment': [\n '0 0 32 32',\n 'M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z'\n ],\n 'comment-off': [\n '0 0 32 32',\n 'M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z'\n ],\n 'send': [\n '0 0 32 32',\n 'M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z'\n ],\n 'menu': [\n '0 0 22 32',\n 'M20.8 14.4q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2zM1.6 11.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2zM20.8 20.8q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2z'\n ],\n 'camera': [\n '0 0 32 32',\n 'M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z'\n ]\n};\nmodule.exports = function (type) {\n return '\\n';\n};\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 _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}\nconsole.log('%c DPlayer 1.5.0 %c http://dplayer.js.org ', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\n__webpack_require__(2);\nvar utils = __webpack_require__(3);\nvar svg = __webpack_require__(0);\nvar handleOption = __webpack_require__(4);\nvar i18n = __webpack_require__(6);\nvar html = __webpack_require__(7);\nvar Video = __webpack_require__(8);\nvar isMobile = /mobile/i.test(window.navigator.userAgent);\nvar index = 0;\nvar DPlayer = function () {\n function DPlayer(option) {\n var _this = this;\n _classCallCheck(this, DPlayer);\n this.option = handleOption(option);\n this.option.element.classList.add('dplayer');\n if (this.option.video.quality) {\n this.qualityIndex = this.option.video.defaultQuality;\n this.quality = this.option.video.quality[this.option.video.defaultQuality];\n }\n this.tran = new i18n(this.option.lang).tran;\n this.updateBar = function (type, percentage, direction) {\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n bar[type + 'Bar'].style[direction] = percentage * 100 + '%';\n };\n var eventTypes = [\n 'play',\n 'pause',\n 'canplay',\n 'playing',\n 'ended',\n 'error'\n ];\n this.event = {};\n for (var i = 0; i < eventTypes.length; i++) {\n this.event[eventTypes[i]] = [];\n }\n this.trigger = function (type) {\n for (var _i = 0; _i < _this.event[type].length; _i++) {\n _this.event[type][_i]();\n }\n };\n this.element = this.option.element;\n if (!this.option.danmaku) {\n this.element.classList.add('dplayer-no-danmaku');\n }\n if (isMobile) {\n this.element.classList.add('dplayer-mobile');\n }\n this.element.innerHTML = html.main(option, index, this.tran);\n this.arrow = this.element.offsetWidth <= 500;\n if (this.arrow) {\n var arrowStyle = document.createElement('style');\n arrowStyle.innerHTML = '.dplayer .dplayer-danmaku{font-size:18px}';\n document.head.appendChild(arrowStyle);\n }\n this.video = new Video(this.element.getElementsByClassName('dplayer-video-current'));\n this.initVideo();\n this.bezel = this.element.getElementsByClassName('dplayer-bezel-icon')[0];\n this.bezel.addEventListener('animationend', function () {\n _this.bezel.classList.remove('dplayer-bezel-transition');\n });\n this.playButton = this.element.getElementsByClassName('dplayer-play-icon')[0];\n this.paused = true;\n this.playButton.addEventListener('click', function () {\n _this.toggle();\n });\n var videoWrap = this.element.getElementsByClassName('dplayer-video-wrap')[0];\n var conMask = this.element.getElementsByClassName('dplayer-controller-mask')[0];\n if (!isMobile) {\n videoWrap.addEventListener('click', function () {\n _this.toggle();\n });\n conMask.addEventListener('click', function () {\n _this.toggle();\n });\n } else {\n var toggleController = function toggleController() {\n if (_this.element.classList.contains('dplayer-hide-controller')) {\n _this.element.classList.remove('dplayer-hide-controller');\n } else {\n _this.element.classList.add('dplayer-hide-controller');\n }\n };\n videoWrap.addEventListener('click', toggleController);\n conMask.addEventListener('click', toggleController);\n }\n var bar = {};\n bar.playedBar = this.element.getElementsByClassName('dplayer-played')[0];\n bar.loadedBar = this.element.getElementsByClassName('dplayer-loaded')[0];\n var pbar = this.element.getElementsByClassName('dplayer-bar-wrap')[0];\n var pbarTimeTips = this.element.getElementsByClassName('dplayer-bar-time')[0];\n var barWidth = void 0;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.danmakuTime = false;\n this.playedTime = false;\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 var setCheckLoadingTime = function setCheckLoadingTime() {\n _this.checkLoading = setInterval(function () {\n currentPlayPos = _this.video.currentTime();\n if (!bufferingDetected && currentPlayPos < lastPlayPos + 0.01 && !_this.video.attr('paused')) {\n _this.element.classList.add('dplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos + 0.01 && !_this.video.attr('paused')) {\n _this.element.classList.remove('dplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }, 100);\n };\n var clearCheckLoadingTime = function clearCheckLoadingTime() {\n clearInterval(_this.checkLoading);\n };\n this.animationFrame = function () {\n if (_this.playedTime) {\n _this.updateBar('played', _this.video.currentTime() / _this.video.duration, 'width');\n _this.element.getElementsByClassName('dplayer-ptime')[0].innerHTML = utils.secondToTime(_this.video.currentTime());\n _this.trigger('playing');\n }\n if (_this.danmakuTime && _this.option.danmaku && showdan && _this.dan) {\n var item = _this.dan[_this.danIndex];\n var danmakus = [];\n while (item && _this.video.currentTime() > parseFloat(item.time)) {\n danmakus.push(item);\n item = _this.dan[++_this.danIndex];\n }\n _this.pushDanmaku(danmakus);\n }\n window.requestAnimationFrame(_this.animationFrame);\n };\n window.requestAnimationFrame(this.animationFrame);\n this.setTime = function (type) {\n if (!type) {\n _this.danmakuTime = true;\n _this.playedTime = true;\n setCheckLoadingTime();\n } else {\n _this[type + 'Time'] = true;\n if (type === 'played') {\n setCheckLoadingTime();\n }\n }\n };\n this.clearTime = function (type) {\n if (!type) {\n _this.danmakuTime = false;\n _this.playedTime = false;\n clearCheckLoadingTime();\n } else {\n _this[type + 'Time'] = false;\n if (type === 'played') {\n clearCheckLoadingTime();\n }\n }\n };\n pbar.addEventListener('click', function (event) {\n var e = event || window.event;\n barWidth = pbar.clientWidth;\n var percentage = (e.clientX - utils.getElementViewLeft(pbar)) / barWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('played', percentage, 'width');\n _this.video.seek(parseFloat(bar.playedBar.style.width) / 100 * _this.video.duration);\n });\n this.isTipsShow = false;\n this.timeTipsHandler = this.timeTipsHandler(pbar, pbarTimeTips).bind(this);\n pbar.addEventListener('mousemove', this.timeTipsHandler);\n pbar.addEventListener('mouseover', this.timeTipsHandler);\n pbar.addEventListener('mouseenter', this.timeTipsHandler);\n pbar.addEventListener('mouseout', this.timeTipsHandler);\n pbar.addEventListener('mouseleave', this.timeTipsHandler);\n var thumbMove = function thumbMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - utils.getElementViewLeft(pbar)) / barWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('played', percentage, 'width');\n _this.element.getElementsByClassName('dplayer-ptime')[0].innerHTML = utils.secondToTime(percentage * _this.video.duration);\n };\n var thumbUp = function thumbUp() {\n document.removeEventListener('mouseup', thumbUp);\n document.removeEventListener('mousemove', thumbMove);\n _this.video.seek(parseFloat(bar.playedBar.style.width) / 100 * _this.video.duration);\n _this.setTime();\n };\n pbar.addEventListener('mousedown', function () {\n barWidth = pbar.clientWidth;\n _this.clearTime();\n document.addEventListener('mousemove', thumbMove);\n document.addEventListener('mouseup', thumbUp);\n });\n bar.volumeBar = this.element.getElementsByClassName('dplayer-volume-bar-inner')[0];\n var volumeEle = this.element.getElementsByClassName('dplayer-volume')[0];\n var volumeBarWrapWrap = this.element.getElementsByClassName('dplayer-volume-bar-wrap')[0];\n var volumeBarWrap = this.element.getElementsByClassName('dplayer-volume-bar')[0];\n var volumeicon = this.element.getElementsByClassName('dplayer-volume-icon')[0];\n var vWidth = 35;\n this.switchVolumeIcon = function () {\n var volumeicon = _this.element.getElementsByClassName('dplayer-volume-icon')[0];\n if (_this.video.attr('volume') >= 0.8) {\n volumeicon.innerHTML = svg('volume-up');\n } else if (_this.video.attr('volume') > 0) {\n volumeicon.innerHTML = svg('volume-down');\n } else {\n volumeicon.innerHTML = svg('volume-off');\n }\n };\n var volumeMove = function volumeMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - utils.getElementViewLeft(volumeBarWrap) - 5.5) / vWidth;\n _this.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener('mouseup', volumeUp);\n document.removeEventListener('mousemove', volumeMove);\n volumeEle.classList.remove('dplayer-volume-active');\n };\n volumeBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - utils.getElementViewLeft(volumeBarWrap) - 5.5) / vWidth;\n _this.volume(percentage);\n });\n volumeBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', volumeMove);\n document.addEventListener('mouseup', volumeUp);\n volumeEle.classList.add('dplayer-volume-active');\n });\n volumeicon.addEventListener('click', function () {\n if (_this.video.attr('muted')) {\n _this.video.attr('muted', false);\n _this.switchVolumeIcon();\n _this.updateBar('volume', _this.video.attr('volume'), 'width');\n } else {\n _this.video.attr('muted', true);\n volumeicon.innerHTML = svg('volume-off');\n _this.updateBar('volume', 0, 'width');\n }\n });\n var hideTime = 0;\n if (!isMobile) {\n var hideController = function hideController() {\n _this.element.classList.remove('dplayer-hide-controller');\n clearTimeout(hideTime);\n hideTime = setTimeout(function () {\n if (_this.video.attr('played').length) {\n _this.element.classList.add('dplayer-hide-controller');\n closeSetting();\n closeComment();\n }\n }, 2000);\n };\n this.element.addEventListener('mousemove', hideController);\n this.element.addEventListener('click', hideController);\n }\n this.danOpacity = localStorage.getItem('DPlayer-opacity') || 0.7;\n var settingHTML = html.setting(this.tran);\n var settingIcon = this.element.getElementsByClassName('dplayer-setting-icon')[0];\n var settingBox = this.element.getElementsByClassName('dplayer-setting-box')[0];\n var mask = this.element.getElementsByClassName('dplayer-mask')[0];\n settingBox.innerHTML = settingHTML.original;\n var closeSetting = function closeSetting() {\n if (settingBox.classList.contains('dplayer-setting-box-open')) {\n settingBox.classList.remove('dplayer-setting-box-open');\n mask.classList.remove('dplayer-mask-show');\n setTimeout(function () {\n settingBox.classList.remove('dplayer-setting-box-narrow');\n settingBox.innerHTML = settingHTML.original;\n settingEvent();\n }, 300);\n }\n };\n var openSetting = function openSetting() {\n settingBox.classList.add('dplayer-setting-box-open');\n mask.classList.add('dplayer-mask-show');\n };\n mask.addEventListener('click', function () {\n closeSetting();\n });\n settingIcon.addEventListener('click', function () {\n openSetting();\n });\n this.loop = this.option.loop;\n var danContainer = this.element.getElementsByClassName('dplayer-danmaku')[0];\n var showdan = true;\n var settingEvent = function settingEvent() {\n var loopEle = _this.element.getElementsByClassName('dplayer-setting-loop')[0];\n var loopToggle = loopEle.getElementsByClassName('dplayer-toggle-setting-input')[0];\n loopToggle.checked = _this.loop;\n loopEle.addEventListener('click', function () {\n loopToggle.checked = !loopToggle.checked;\n if (loopToggle.checked) {\n _this.loop = true;\n } else {\n _this.loop = false;\n }\n closeSetting();\n });\n var showDanEle = _this.element.getElementsByClassName('dplayer-setting-showdan')[0];\n var showDanToggle = showDanEle.getElementsByClassName('dplayer-showdan-setting-input')[0];\n showDanToggle.checked = showdan;\n showDanEle.addEventListener('click', function () {\n showDanToggle.checked = !showDanToggle.checked;\n if (showDanToggle.checked) {\n showdan = true;\n if (_this.option.danmaku) {\n for (var _i2 = 0; _i2 < _this.dan.length; _i2++) {\n if (_this.dan[_i2].time >= _this.video.currentTime()) {\n _this.danIndex = _i2;\n break;\n }\n _this.danIndex = _this.dan.length;\n }\n if (!_this.paused) {\n _this.setTime('danmaku');\n }\n }\n } else {\n showdan = false;\n if (_this.option.danmaku) {\n _this.clearTime('danmaku');\n danContainer.innerHTML = '';\n _this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n }\n }\n closeSetting();\n });\n var speedEle = _this.element.getElementsByClassName('dplayer-setting-speed')[0];\n speedEle.addEventListener('click', function () {\n settingBox.classList.add('dplayer-setting-box-narrow');\n settingBox.innerHTML = settingHTML.speed;\n var speedItem = settingBox.getElementsByClassName('dplayer-setting-speed-item');\n var _loop = function _loop(_i3) {\n speedItem[_i3].addEventListener('click', function () {\n _this.video.attr('playbackRate', speedItem[_i3].dataset.speed);\n closeSetting();\n });\n };\n for (var _i3 = 0; _i3 < speedItem.length; _i3++) {\n _loop(_i3);\n }\n });\n if (_this.option.danmaku) {\n bar.danmakuBar = _this.element.getElementsByClassName('dplayer-danmaku-bar-inner')[0];\n var danmakuBarWrapWrap = _this.element.getElementsByClassName('dplayer-danmaku-bar-wrap')[0];\n var danmakuBarWrap = _this.element.getElementsByClassName('dplayer-danmaku-bar')[0];\n var danmakuSettingBox = _this.element.getElementsByClassName('dplayer-setting-danmaku')[0];\n var dWidth = 130;\n _this.updateBar('danmaku', _this.danOpacity, 'width');\n var danmakuMove = function danmakuMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - utils.getElementViewLeft(danmakuBarWrap)) / dWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('danmaku', percentage, 'width');\n var items = _this.element.getElementsByClassName('dplayer-danmaku-item');\n for (var _i4 = 0; _i4 < items.length; _i4++) {\n items[_i4].style.opacity = percentage;\n }\n _this.danOpacity = percentage;\n localStorage.setItem('DPlayer-opacity', _this.danOpacity);\n };\n var danmakuUp = function danmakuUp() {\n document.removeEventListener('mouseup', danmakuUp);\n document.removeEventListener('mousemove', danmakuMove);\n danmakuSettingBox.classList.remove('dplayer-setting-danmaku-active');\n };\n danmakuBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - utils.getElementViewLeft(danmakuBarWrap)) / dWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('danmaku', percentage, 'width');\n var items = _this.element.getElementsByClassName('dplayer-danmaku-item');\n for (var _i5 = 0; _i5 < items.length; _i5++) {\n items[_i5].style.opacity = percentage;\n }\n _this.danOpacity = percentage;\n localStorage.setItem('DPlayer-opacity', _this.danOpacity);\n });\n danmakuBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', danmakuMove);\n document.addEventListener('mouseup', danmakuUp);\n danmakuSettingBox.classList.add('dplayer-setting-danmaku-active');\n });\n }\n };\n settingEvent();\n if (this.video.duration !== 1) {\n this.element.getElementsByClassName('dplayer-dtime')[0].innerHTML = this.video.duration ? utils.secondToTime(this.video.duration) : '00:00';\n }\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n var measureStyle = getComputedStyle(this.element.getElementsByClassName('dplayer-danmaku-item')[0], null);\n var context = document.createElement('canvas').getContext('2d');\n context.font = measureStyle.getPropertyValue('font-size') + ' ' + measureStyle.getPropertyValue('font-family');\n this.danmakuMeasure = function (text) {\n return context.measureText(text).width;\n };\n if (this.option.danmaku) {\n this.danIndex = 0;\n this.readDanmaku();\n } else {\n if (this.option.autoplay && !isMobile) {\n this.play();\n } else if (isMobile) {\n this.pause();\n }\n }\n var commentInput = this.element.getElementsByClassName('dplayer-comment-input')[0];\n var commentIcon = this.element.getElementsByClassName('dplayer-comment-icon')[0];\n var commentBox = this.element.getElementsByClassName('dplayer-comment-box')[0];\n var commentSettingIcon = this.element.getElementsByClassName('dplayer-comment-setting-icon')[0];\n var commentSettingBox = this.element.getElementsByClassName('dplayer-comment-setting-box')[0];\n var commentSendIcon = this.element.getElementsByClassName('dplayer-send-icon')[0];\n var htmlEncode = function htmlEncode(str) {\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/');\n };\n var sendComment = function sendComment() {\n commentInput.blur();\n if (!commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n _this.notice(_this.tran('Please input danmaku content!'));\n return;\n }\n var danmakuData = {\n token: _this.option.danmaku.token,\n player: _this.option.danmaku.id,\n author: _this.option.danmaku.user,\n time: _this.video.currentTime(),\n text: commentInput.value,\n color: _this.element.querySelector('.dplayer-comment-setting-color input:checked').value,\n type: _this.element.querySelector('.dplayer-comment-setting-type input:checked').value\n };\n _this.option.apiBackend.send(_this.option.danmaku.api, danmakuData);\n commentInput.value = '';\n closeComment();\n _this.dan.splice(_this.danIndex, 0, danmakuData);\n _this.danIndex++;\n var danmaku = {\n text: htmlEncode(danmakuData.text),\n color: danmakuData.color,\n type: danmakuData.type,\n border: '2px solid ' + _this.option.theme\n };\n _this.pushDanmaku(danmaku);\n };\n var closeCommentSetting = function closeCommentSetting() {\n if (commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n commentSettingBox.classList.remove('dplayer-comment-setting-open');\n }\n };\n var toggleCommentSetting = function toggleCommentSetting() {\n if (commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n commentSettingBox.classList.remove('dplayer-comment-setting-open');\n } else {\n commentSettingBox.classList.add('dplayer-comment-setting-open');\n }\n };\n var disableHide = 0;\n var commentFocusTimeout = 0;\n var closeComment = function closeComment() {\n if (!commentBox.classList.contains('dplayer-comment-box-open')) {\n return;\n }\n commentBox.classList.remove('dplayer-comment-box-open');\n mask.classList.remove('dplayer-mask-show');\n _this.element.classList.remove('dplayer-show-controller');\n clearInterval(disableHide);\n clearTimeout(commentFocusTimeout);\n closeCommentSetting();\n };\n var openComment = function openComment() {\n if (commentBox.classList.contains('dplayer-comment-box-open')) {\n return;\n }\n commentBox.classList.add('dplayer-comment-box-open');\n mask.classList.add('dplayer-mask-show');\n _this.element.classList.add('dplayer-show-controller');\n disableHide = setInterval(function () {\n clearTimeout(hideTime);\n }, 1000);\n commentFocusTimeout = setTimeout(function () {\n commentInput.focus();\n }, 300);\n };\n mask.addEventListener('click', function () {\n closeComment();\n });\n commentIcon.addEventListener('click', function () {\n openComment();\n });\n commentSettingIcon.addEventListener('click', function () {\n toggleCommentSetting();\n });\n this.element.getElementsByClassName('dplayer-comment-setting-color')[0].addEventListener('click', function () {\n var sele = _this.element.querySelector('input[name=\"dplayer-danmaku-color-${index}\"]:checked+span');\n if (sele) {\n commentSettingIcon.getElementsByClassName('dplayer-fill')[0].style.fill = _this.element.querySelector('input[name=\"dplayer-danmaku-color-${index}\"]:checked').value;\n }\n });\n commentInput.addEventListener('click', function () {\n closeCommentSetting();\n });\n commentInput.addEventListener('keydown', function (e) {\n var event = e || window.event;\n if (event.keyCode === 13) {\n sendComment();\n }\n });\n commentSendIcon.addEventListener('click', sendComment);\n var resetAnimation = function resetAnimation() {\n var danWidth = danContainer.offsetWidth;\n var items = _this.element.getElementsByClassName('dplayer-danmaku-item');\n for (var _i6 = 0; _i6 < items.length; _i6++) {\n items[_i6].style.transform = 'translateX(-' + danWidth + 'px)';\n }\n };\n this.element.addEventListener('fullscreenchange', function () {\n resetAnimation();\n });\n this.element.addEventListener('mozfullscreenchange', function () {\n resetAnimation();\n });\n this.element.addEventListener('webkitfullscreenchange', function () {\n resetAnimation();\n });\n this.element.getElementsByClassName('dplayer-full-icon')[0].addEventListener('click', function () {\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n if (_this.element.requestFullscreen) {\n _this.element.requestFullscreen();\n } else if (_this.element.mozRequestFullScreen) {\n _this.element.mozRequestFullScreen();\n } else if (_this.element.webkitRequestFullscreen) {\n _this.element.webkitRequestFullscreen();\n } else if (_this.video.attr('webkitEnterFullscreen')) {\n _this.video.current.webkitEnterFullscreen();\n }\n } else {\n if (document.cancelFullScreen) {\n document.cancelFullScreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitCancelFullScreen) {\n document.webkitCancelFullScreen();\n }\n }\n resetAnimation();\n });\n this.element.getElementsByClassName('dplayer-full-in-icon')[0].addEventListener('click', function () {\n if (_this.element.classList.contains('dplayer-fulled')) {\n _this.element.classList.remove('dplayer-fulled');\n } else {\n _this.element.classList.add('dplayer-fulled');\n resetAnimation();\n }\n });\n var handleKeyDown = function handleKeyDown(e) {\n var tag = document.activeElement.tagName.toUpperCase();\n var editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n var event = e || window.event;\n var percentage = void 0;\n switch (event.keyCode) {\n case 32:\n event.preventDefault();\n _this.toggle();\n break;\n case 37:\n event.preventDefault();\n _this.video.seek(_this.video.currentTime() - 5);\n break;\n case 39:\n event.preventDefault();\n _this.video.seek(_this.video.currentTime() + 5);\n break;\n case 38:\n event.preventDefault();\n percentage = _this.video.attr('volume') + 0.1;\n _this.volume(percentage);\n break;\n case 40:\n event.preventDefault();\n percentage = _this.video.attr('volume') - 0.1;\n _this.volume(percentage);\n break;\n }\n }\n };\n if (this.option.hotkey) {\n document.addEventListener('keydown', handleKeyDown);\n }\n document.addEventListener('keydown', function (e) {\n var event = e || window.event;\n switch (event.keyCode) {\n case 27:\n if (_this.element.classList.contains('dplayer-fulled')) {\n _this.element.classList.remove('dplayer-fulled');\n resetAnimation();\n }\n break;\n }\n });\n var menu = this.element.getElementsByClassName('dplayer-menu')[0];\n this.element.addEventListener('contextmenu', function (e) {\n var event = e || window.event;\n event.preventDefault();\n menu.classList.add('dplayer-menu-show');\n var clientRect = _this.element.getBoundingClientRect();\n var menuLeft = event.clientX - clientRect.left;\n var menuTop = event.clientY - clientRect.top;\n if (menuLeft + menu.offsetWidth >= clientRect.width) {\n menu.style.right = clientRect.width - menuLeft + 'px';\n menu.style.left = 'initial';\n } else {\n menu.style.left = event.clientX - _this.element.getBoundingClientRect().left + 'px';\n menu.style.right = 'initial';\n }\n if (menuTop + menu.offsetHeight >= clientRect.height) {\n menu.style.bottom = clientRect.height - menuTop + 'px';\n menu.style.top = 'initial';\n } else {\n menu.style.top = event.clientY - _this.element.getBoundingClientRect().top + 'px';\n menu.style.bottom = 'initial';\n }\n mask.classList.add('dplayer-mask-show');\n mask.addEventListener('click', function () {\n mask.classList.remove('dplayer-mask-show');\n menu.classList.remove('dplayer-menu-show');\n });\n });\n if (this.option.video.quality) {\n this.element.getElementsByClassName('dplayer-quality-list')[0].addEventListener('click', function (e) {\n if (e.target.classList.contains('dplayer-quality-item')) {\n _this.switchQuality(e.target.dataset.index);\n }\n });\n }\n if (this.option.screenshot) {\n var camareIcon = this.element.getElementsByClassName('dplayer-camera-icon')[0];\n camareIcon.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this.video.attr('videoWidth');\n canvas.height = _this.video.attr('videoHeight');\n canvas.getContext('2d').drawImage(_this.video.current, 0, 0, canvas.width, canvas.height);\n camareIcon.href = canvas.toDataURL();\n camareIcon.download = 'DPlayer.png';\n });\n }\n index++;\n }\n _createClass(DPlayer, [\n {\n key: 'play',\n value: function play(time) {\n if (Object.prototype.toString.call(time) === '[object Number]') {\n this.video.seek(time);\n }\n this.paused = false;\n if (this.video.attr('paused')) {\n this.bezel.innerHTML = svg('play');\n this.bezel.classList.add('dplayer-bezel-transition');\n }\n this.playButton.innerHTML = svg('pause');\n this.video.play();\n this.setTime();\n this.element.classList.add('dplayer-playing');\n this.trigger('play');\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n this.element.classList.remove('dplayer-loading');\n if (!this.video.attr('paused')) {\n this.bezel.innerHTML = svg('pause');\n this.bezel.classList.add('dplayer-bezel-transition');\n }\n this.ended = false;\n this.playButton.innerHTML = svg('play');\n this.video.pause();\n this.clearTime();\n this.element.classList.remove('dplayer-playing');\n this.trigger('pause');\n }\n },\n {\n key: 'volume',\n value: function volume(percentage) {\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n this.updateBar('volume', percentage, 'width');\n this.video.attr('volume', percentage);\n if (this.video.attr('muted')) {\n this.video.attr('muted', false);\n }\n this.switchVolumeIcon();\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.video.attr('paused')) {\n this.play();\n } else {\n this.pause();\n }\n }\n },\n {\n key: 'on',\n value: function on(event, callback) {\n if (typeof callback === 'function') {\n this.event[event].push(callback);\n }\n }\n },\n {\n key: '_readAllEndpoints',\n value: function _readAllEndpoints(endpoints, finish) {\n var _this2 = this;\n var results = [];\n var readCount = 0;\n var cbk = function cbk(i) {\n return function (err, data) {\n ++readCount;\n if (err) {\n if (err.response) {\n _this2.notice(err.response.msg);\n } else {\n _this2.notice('Request was unsuccessful: ' + err.status);\n }\n results[i] = [];\n } else {\n results[i] = data;\n }\n if (readCount === endpoints.length) {\n return finish(results);\n }\n };\n };\n for (var i = 0; i < endpoints.length; ++i) {\n this.option.apiBackend.read(endpoints[i], cbk(i));\n }\n }\n },\n {\n key: 'readDanmaku',\n value: function readDanmaku() {\n var _this3 = this;\n var isMobile = /mobile/i.test(window.navigator.userAgent);\n var apiurl = void 0;\n if (this.option.danmaku.maximum) {\n apiurl = this.option.danmaku.api + '?id=' + this.option.danmaku.id + '&max=' + this.option.danmaku.maximum;\n } else {\n apiurl = this.option.danmaku.api + '?id=' + this.option.danmaku.id;\n }\n var endpoints = (this.option.danmaku.addition || []).slice(0);\n endpoints.push(apiurl);\n this._readAllEndpoints(endpoints, function (results) {\n _this3.danIndex = 0;\n _this3.dan = [].concat.apply([], results).sort(function (a, b) {\n return a.time - b.time;\n });\n _this3.element.getElementsByClassName('dplayer-danloading')[0].style.display = 'none';\n if (_this3.option.autoplay && !isMobile) {\n _this3.play();\n } else if (isMobile) {\n _this3.pause();\n }\n });\n }\n },\n {\n key: 'pushDanmaku',\n value: function pushDanmaku(danmaku) {\n var _this4 = this;\n var danContainer = this.element.getElementsByClassName('dplayer-danmaku')[0];\n var itemHeight = this.arrow ? 24 : 30;\n var danWidth = danContainer.offsetWidth;\n var danHeight = danContainer.offsetHeight;\n var itemY = parseInt(danHeight / itemHeight);\n var danItemRight = function danItemRight(ele) {\n var eleWidth = ele.offsetWidth || parseInt(ele.style.width);\n var eleRight = ele.getBoundingClientRect().right || danContainer.getBoundingClientRect().right + eleWidth;\n return danContainer.getBoundingClientRect().right - eleRight;\n };\n var danSpeed = function danSpeed(width) {\n return (danWidth + width) / 5;\n };\n var getTunnel = function getTunnel(ele, type, width) {\n var tmp = danWidth / danSpeed(width);\n var _loop2 = function _loop2(i) {\n var item = _this4.danTunnel[type][i + ''];\n if (item && item.length) {\n for (var j = 0; j < item.length; j++) {\n var danRight = danItemRight(item[j]) - 10;\n if (danRight <= danWidth - tmp * danSpeed(parseInt(item[j].style.width)) || danRight <= 0) {\n break;\n }\n if (j === item.length - 1) {\n _this4.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this4.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n };\n for (var i = 0;; i++) {\n var _ret2 = _loop2(i);\n if ((typeof _ret2 === 'undefined' ? 'undefined' : _typeof(_ret2)) === 'object')\n return _ret2.v;\n }\n };\n if (Object.prototype.toString.call(danmaku) !== '[object Array]') {\n danmaku = [danmaku];\n }\n var docFragment = document.createDocumentFragment();\n var _loop3 = function _loop3(i) {\n if (!danmaku[i].type) {\n danmaku[i].type = 'right';\n }\n if (!danmaku[i].color) {\n danmaku[i].color = '#fff';\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-' + danmaku[i].type);\n item.innerHTML = danmaku[i].text;\n item.style.opacity = _this4.danOpacity;\n item.style.color = danmaku[i].color;\n item.style.border = danmaku[i].border;\n item.addEventListener('animationend', function () {\n danContainer.removeChild(item);\n });\n var itemWidth = _this4.danmakuMeasure(danmaku[i].text);\n switch (danmaku[i].type) {\n case 'right':\n item.style.width = itemWidth + 1 + 'px';\n item.style.top = itemHeight * getTunnel(item, danmaku[i].type, itemWidth) + 'px';\n item.style.transform = 'translateX(-' + danWidth + 'px)';\n break;\n case 'top':\n item.style.top = itemHeight * getTunnel(item, danmaku[i].type) + 'px';\n break;\n case 'bottom':\n item.style.bottom = itemHeight * getTunnel(item, danmaku[i].type) + 'px';\n break;\n default:\n console.error('Can\\'t handled danmaku type: ' + danmaku[i].type);\n }\n item.classList.add('dplayer-danmaku-move');\n docFragment.appendChild(item);\n };\n for (var i = 0; i < danmaku.length; i++) {\n _loop3(i);\n }\n danContainer.appendChild(docFragment);\n return docFragment;\n }\n },\n {\n key: 'switchVideo',\n value: function switchVideo(video, danmaku) {\n this.video.attr('poster', video.pic ? video.pic : '');\n this.video.attr('src', video.url);\n this.pause();\n if (danmaku) {\n this.dan = [];\n this.danIndex = 0;\n this.element.getElementsByClassName('dplayer-danloading')[0].style.display = 'block';\n this.updateBar('played', 0, 'width');\n this.updateBar('loaded', 0, 'width');\n this.element.getElementsByClassName('dplayer-ptime')[0].innerHTML = '00:00';\n this.element.getElementsByClassName('dplayer-danmaku')[0].innerHTML = '';\n this.danTuel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.option.danmaku = danmaku;\n this.readDanmaku();\n }\n }\n },\n {\n key: 'initVideo',\n value: function initVideo() {\n var _this5 = this;\n var enablehls = void 0;\n if (this.option.video.type === 'auto') {\n enablehls = /m3u8(#|\\?|$)/i.exec(this.option.video.url);\n } else if (this.option.video.type === 'hls') {\n enablehls = true;\n } else {\n enablehls = false;\n }\n if (enablehls && Hls.isSupported()) {\n var hls = new Hls();\n hls.attachMedia(this.video.current);\n hls.on(Hls.Events.MEDIA_ATTACHED, function () {\n hls.loadSource(_this5.option.video.url);\n hls.on(Hls.Events.MANIFEST_PARSED, function (event, data) {\n this.notice('manifest loaded, found ' + data.levels.length + ' quality level');\n });\n });\n }\n var enableflv = void 0;\n if (this.option.video.type === 'auto') {\n enableflv = /.flv(#|\\?|$)/i.exec(this.option.video.url);\n } else if (this.option.video.type === 'flv') {\n enableflv = true;\n } else {\n enableflv = false;\n }\n if (enableflv && flvjs.isSupported()) {\n var flvPlayer = flvjs.createPlayer({\n type: 'flv',\n url: this.option.video.url\n });\n flvPlayer.attachMediaElement(this.video.current);\n flvPlayer.load();\n }\n if (this.option.danmaku) {\n this.video.on('all', 'seeking', function () {\n for (var i = 0; i < _this5.dan.length; i++) {\n if (_this5.dan[i].time >= _this5.video.currentTime()) {\n _this5.danIndex = i;\n return;\n }\n _this5.danIndex = _this5.dan.length;\n }\n });\n }\n this.video.on('all', 'durationchange', function (i, video) {\n if (video.duration !== 1) {\n _this5.element.getElementsByClassName('dplayer-dtime')[0].innerHTML = utils.secondToTime(_this5.video.duration);\n }\n });\n this.video.on('current', 'progress', function (i, video) {\n var percentage = video.buffered.length ? video.buffered.end(video.buffered.length - 1) / video.duration : 0;\n _this5.updateBar('loaded', percentage, 'width');\n });\n this.video.on('all', 'error', function () {\n _this5.notice(_this5.tran('This video fails to load'), -1);\n _this5.trigger('pause');\n });\n this.video.on('current', 'canplay', function () {\n _this5.trigger('canplay');\n });\n this.ended = false;\n this.video.on('all', 'ended', function (i) {\n if (i === _this5.video.videos.length - 1) {\n _this5.updateBar('played', 1, 'width');\n if (!_this5.loop) {\n _this5.ended = true;\n _this5.pause();\n _this5.trigger('ended');\n } else {\n _this5.video.switch(0);\n _this5.video.play();\n }\n _this5.danIndex = 0;\n }\n });\n this.video.on('current', 'play', function () {\n if (_this5.paused) {\n _this5.play();\n }\n });\n this.video.on('current', 'pause', function () {\n if (!_this5.paused) {\n _this5.pause();\n }\n });\n this.video.attr('volume', parseInt(this.element.getElementsByClassName('dplayer-volume-bar-inner')[0].style.width) / 100);\n }\n },\n {\n key: 'switchQuality',\n value: function switchQuality(index) {\n var _this6 = this;\n if (this.qualityIndex === index || this.switchingQuality) {\n return;\n } else {\n this.qualityIndex = index;\n }\n this.switchingQuality = true;\n this.quality = this.option.video.quality[index];\n this.element.getElementsByClassName('dplayer-quality-icon')[0].innerHTML = this.quality.name;\n this.video.pause();\n var videoHTML = html.video(false, null, this.option.screenshot, 'auto', this.quality.url);\n var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n var parent = this.element.getElementsByClassName('dplayer-video-wrap')[0];\n parent.insertBefore(videoEle, parent.getElementsByTagName('div')[0]);\n this.prevVideo = this.video;\n this.video = new Video([videoEle], this.prevVideo.duration);\n this.initVideo();\n this.video.seek(this.prevVideo.currentTime());\n this.notice(this.tran('Switching to') + ' ' + this.quality.name + ' ' + this.tran('quality'), -1);\n this.video.on('current', 'canplay', function () {\n if (_this6.prevVideo) {\n if (_this6.video.currentTime() !== _this6.prevVideo.currentTime()) {\n _this6.video.seek(_this6.prevVideo.currentTime());\n return;\n }\n parent.removeChild(_this6.prevVideo.current);\n _this6.video.current.classList.add('dplayer-video-current');\n _this6.video.play();\n _this6.prevVideo = null;\n _this6.notice(_this6.tran('Switched to') + ' ' + _this6.quality.name + ' ' + _this6.tran('quality'));\n _this6.switchingQuality = false;\n }\n });\n }\n },\n {\n key: 'timeTipsHandler',\n value: function timeTipsHandler(pbar, timeTips) {\n var _this7 = this;\n var cumulativeOffset = function cumulativeOffset(element) {\n var top = 0, left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n return {\n top: top,\n left: left\n };\n };\n return function (e) {\n if (!_this7.video.duration) {\n return;\n }\n var clientX = e.clientX;\n var px = cumulativeOffset(pbar).left;\n var tx = clientX - px;\n timeTips.innerText = utils.secondToTime(_this7.video.duration * (tx / pbar.offsetWidth));\n timeTips.style.left = tx - 20 + 'px';\n switch (e.type) {\n case 'mouseenter':\n case 'mouseover':\n case 'mousemove':\n if (_this7.isTipsShow) {\n return;\n }\n timeTips.classList.remove('hidden');\n _this7.isTipsShow = true;\n break;\n case 'mouseleave':\n case 'mouseout':\n if (!_this7.isTipsShow) {\n return;\n }\n timeTips.classList.add('hidden');\n _this7.isTipsShow = false;\n break;\n }\n };\n }\n },\n {\n key: 'notice',\n value: function notice(text, time) {\n var noticeEle = this.element.getElementsByClassName('dplayer-notice')[0];\n noticeEle.innerHTML = text;\n noticeEle.style.opacity = 1;\n if (this.noticeTime) {\n clearTimeout(this.noticeTime);\n }\n if (time && time < 0) {\n return;\n }\n this.noticeTime = setTimeout(function () {\n noticeEle.style.opacity = 0;\n }, time || 2000);\n }\n }\n ]);\n return DPlayer;\n}();\nmodule.exports = DPlayer;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nmodule.exports = {\n secondToTime: function secondToTime(second) {\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var min = parseInt(second / 60);\n var sec = parseInt(second - min * 60);\n return add0(min) + ':' + add0(sec);\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};\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar defaultApiBackend = __webpack_require__(5);\nmodule.exports = function (option) {\n var isMobile = /mobile/i.test(window.navigator.userAgent);\n if (isMobile) {\n option.autoplay = false;\n }\n var defaultOption = {\n element: document.getElementsByClassName('dplayer')[0],\n autoplay: false,\n theme: '#b7daff',\n loop: false,\n lang: navigator.language.indexOf('zh') !== -1 ? 'zh' : 'en',\n screenshot: true,\n hotkey: true,\n preload: 'auto',\n apiBackend: defaultApiBackend,\n contextmenu: [\n {\n text: '关于作者',\n link: 'http://diygod.me'\n },\n {\n text: '播放器意见反馈',\n link: 'https://github.com/DIYgod/DPlayer/issues'\n },\n {\n text: '关于 DPlayer 播放器',\n link: 'https://github.com/DIYgod/DPlayer'\n }\n ]\n };\n for (var defaultKey in defaultOption) {\n if (defaultOption.hasOwnProperty(defaultKey) && !option.hasOwnProperty(defaultKey)) {\n option[defaultKey] = defaultOption[defaultKey];\n }\n }\n if (Object.prototype.toString.call(option.video.url) !== '[object Array]') {\n option.video.url = [option.video.url];\n }\n if (option.video && !option.video.hasOwnProperty('type')) {\n option.video.type = 'auto';\n }\n if (option.danmaku && !option.danmaku.hasOwnProperty('user')) {\n option.danmaku.user = 'DIYgod';\n }\n if (option.video.quality) {\n option.video.url = [option.video.quality[option.video.defaultQuality].url];\n }\n return option;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar SendXMLHttpRequest = function SendXMLHttpRequest(url, data, success, error, fail) {\n var xhr = new XMLHttpRequest();\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n var response = JSON.parse(xhr.responseText);\n if (response.code !== 1) {\n return error(xhr, response);\n }\n return success(xhr, response);\n }\n fail(xhr);\n }\n };\n xhr.open(data !== null ? 'POST' : 'GET', url, true);\n xhr.send(data !== null ? JSON.stringify(data) : null);\n};\nmodule.exports = {\n send: function send(endpoint, danmakuData) {\n SendXMLHttpRequest(endpoint, danmakuData, function (xhr, response) {\n console.log('Post danmaku: ', response);\n }, function (xhr, response) {\n alert(response.msg);\n }, function (xhr) {\n console.log('Request was unsuccessful: ' + xhr.status);\n });\n },\n read: function read(endpoint, cbk) {\n SendXMLHttpRequest(endpoint, null, function (xhr, response) {\n cbk(null, response.danmaku);\n }, function (xhr, response) {\n cbk({\n status: xhr.status,\n response: response\n });\n }, function (xhr) {\n cbk({\n status: xhr.status,\n response: null\n });\n });\n }\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar tranZH = {\n 'Danmaku is loading': '弹幕加载中',\n 'Top': '顶部',\n 'Bottom': '底部',\n 'Rolling': '滚动',\n 'Input danmaku, hit Enter': '输入弹幕\\uFF0C回车发送',\n 'About author': '关于作者',\n 'DPlayer feedback': '播放器意见反馈',\n 'About DPlayer': '关于 DPlayer 播放器',\n 'Loop': '洗脑循环',\n 'Speed': '速度',\n 'Opacity for danmaku': '弹幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '要输入弹幕内容啊喂\\uFF01',\n 'Set danmaku color': '设置弹幕颜色',\n 'Set danmaku type': '设置弹幕类型',\n 'Danmaku': '弹幕',\n 'This video fails to load': '视频加载失败',\n 'Switching to': '正在切换至',\n 'Switched to': '已经切换至',\n 'quality': '画质'\n};\nmodule.exports = function (lang) {\n var _this = this;\n this.lang = lang;\n this.tran = function (text) {\n if (_this.lang === 'en') {\n return text;\n } else if (_this.lang === 'zh') {\n return tranZH[text];\n }\n };\n};\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar svg = __webpack_require__(0);\nvar html = {\n main: function main(option, index, tran) {\n var videos = '';\n for (var i = 0; i < option.video.url.length; i++) {\n videos += html.video(i === 0, option.video.pic, option.screenshot, option.video.url.length ? 'metadata' : option.preload, option.video.url[i]);\n }\n return '
' + videos + '' + (option.logo ? '
' : '') + '
' + (option.danmaku ? '' + tran('Danmaku is loading') + '' : '') + '
0:00 / 0:00
' + (option.video.quality ? '
' + html.qualityList(option.video.quality) + '
' : '') + '' + (option.screenshot ? '' + svg('camera') + '' : '') + '
' + tran('Set danmaku color') + '
' + tran('Set danmaku type') + '
00:00
' + html.contextmenuList(option.contextmenu) + '
';\n },\n contextmenuList: function contextmenuList(contextmenu) {\n var result = '
';\n for (var i = 0; i < contextmenu.length; i++) {\n result += '
' + contextmenu[i].text + '
';\n }\n result += '
';\n return result;\n },\n qualityList: function qualityList(quality) {\n var result = '
';\n for (var i = 0; i < quality.length; i++) {\n result += '
' + quality[i].name + '
';\n }\n result += '
';\n return result;\n },\n video: function video(current, pic, screenshot, preload, url) {\n return '';\n },\n setting: function setting(tran) {\n return {\n 'original': '
' + tran('Speed') + '
' + svg('right') + '
' + tran('Loop') + '
' + tran('Danmaku') + '
' + tran('Opacity for danmaku') + '
',\n 'speed': '
0.5
0.75
' + tran('Normal') + '
1.25
1.5
2
'\n };\n }\n};\nmodule.exports = html;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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 Video = function () {\n function Video(videos, duration) {\n var _this = this;\n _classCallCheck(this, Video);\n this.videos = videos;\n this.multi = this.videos.length > 1;\n this.index = 0;\n this.current = this.videos[this.index];\n this.duration = duration || 0;\n this.durationArr = [];\n this.eventAll = [];\n this.eventCurrent = [];\n this.on('all', 'durationchange', function (i, video) {\n if (video.duration !== 1) {\n _this.durationArr[i] = video.duration;\n if (!duration) {\n _this.duration = _this.durationArr.reduce(function (sum, cur) {\n return sum + cur;\n });\n }\n }\n });\n this.on('current', 'end', function () {\n _this.switch(_this.index + 1);\n });\n }\n _createClass(Video, [\n {\n key: 'switch',\n value: function _switch(index, time) {\n if (this.index !== index) {\n this.videos[index].classList.add('dplayer-video-current');\n if (!this.current.paused) {\n this.videos[index].play();\n }\n this.current.classList.remove('dplayer-video-current');\n this.current.pause();\n this.index = index;\n this.current = this.videos[this.index];\n this.videos[index].currentTime = time ? time : 0;\n } else {\n this.videos[index].currentTime = time ? time : 0;\n }\n }\n },\n {\n key: 'on',\n value: function on(type, event, callback) {\n var _this2 = this;\n if (typeof callback === 'function') {\n if (type === 'all') {\n if (!this.eventAll[event]) {\n this.eventAll[event] = [];\n }\n this.eventAll[event].push(callback);\n } else {\n if (!this.eventCurrent[event]) {\n this.eventCurrent[event] = [];\n }\n this.eventCurrent[event].push(callback);\n }\n if (['seeking'].indexOf(event) === -1) {\n var _loop = function _loop(i) {\n _this2.videos[i].addEventListener(event, function () {\n if (type === 'all' || _this2.videos[i] === _this2.current) {\n callback(i, _this2.videos[i]);\n }\n });\n };\n for (var i = 0; i < this.videos.length; i++) {\n _loop(i);\n }\n }\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(type, event) {\n var events = type === 'all' ? this.eventAll : this.eventCurrent;\n if (events[event]) {\n for (var i = 0; i < events[event].length; i++) {\n events[event][i]();\n }\n }\n }\n },\n {\n key: 'currentTime',\n value: function currentTime() {\n if (this.durationArr.slice(0, this.index).length) {\n return this.durationArr.slice(0, this.index).reduce(function (sum, cur) {\n return sum + cur;\n }) + this.current.currentTime;\n } else {\n return this.current.currentTime;\n }\n }\n },\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n time = Math.min(time, this.duration);\n var i = 0;\n var tmptime = 0;\n while (tmptime <= time) {\n tmptime += this.durationArr[i];\n i++;\n }\n var currentTime = void 0;\n if (this.durationArr.slice(0, this.index).length) {\n currentTime = time - this.durationArr.slice(0, i - 1).reduce(function (sum, cur) {\n return sum + cur;\n });\n } else {\n currentTime = time;\n }\n this.switch(i - 1, currentTime);\n this.trigger('all', 'seeking');\n }\n },\n {\n key: 'attr',\n value: function attr(option, value) {\n if (value !== undefined) {\n for (var i = 0; i < this.videos.length; i++) {\n this.videos[i][option] = value;\n }\n }\n return this.current[option];\n }\n },\n {\n key: 'play',\n value: function play() {\n this.current.play();\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.current.pause();\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n this.current.paused ? this.play() : this.pause();\n }\n }\n ]);\n return Video;\n}();\nmodule.exports = Video;\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// DPlayer.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 = 1);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 39cffe2b7123e39230a0","'use strict';\nvar svgSource = {\n 'play': [\n '0 0 16 32',\n 'M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z'\n ],\n 'pause': [\n '0 0 17 32',\n 'M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z'\n ],\n 'volume-up': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056zM29.728 16q0 4.096-2.272 7.552t-6.048 5.056q-0.224 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.64 0.704-1.056 0.128-0.064 0.384-0.192t0.416-0.192q0.8-0.448 1.44-0.896 2.208-1.632 3.456-4.064t1.216-5.152-1.216-5.152-3.456-4.064q-0.64-0.448-1.44-0.896-0.128-0.096-0.416-0.192t-0.384-0.192q-0.704-0.416-0.704-1.056 0-0.448 0.32-0.8t0.832-0.352q0.224 0 0.448 0.096 3.776 1.632 6.048 5.056t2.272 7.552z'\n ],\n 'volume-down': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z'\n ],\n 'volume-off': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z'\n ],\n 'loop': [\n '0 0 32 32',\n 'M1.882 16.941c0 4.152 3.221 7.529 7.177 7.529v1.882c-4.996 0-9.060-4.222-9.060-9.412s4.064-9.412 9.060-9.412h7.96l-3.098-3.098 1.331-1.331 5.372 5.37-5.37 5.372-1.333-1.333 3.1-3.098h-7.962c-3.957 0-7.177 3.377-7.177 7.529zM22.94 7.529v1.882c3.957 0 7.177 3.377 7.177 7.529s-3.221 7.529-7.177 7.529h-7.962l3.098-3.098-1.331-1.331-5.37 5.37 5.372 5.372 1.331-1.331-3.1-3.1h7.96c4.998 0 9.062-4.222 9.062-9.412s-4.064-9.412-9.060-9.412z'\n ],\n 'full': [\n '0 0 32 33',\n 'M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z'\n ],\n 'full-in': [\n '0 0 32 33',\n 'M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z'\n ],\n 'setting': [\n '0 0 32 28',\n 'M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z'\n ],\n 'right': [\n '0 0 32 32',\n 'M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z'\n ],\n 'comment': [\n '0 0 32 32',\n 'M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z'\n ],\n 'comment-off': [\n '0 0 32 32',\n 'M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z'\n ],\n 'send': [\n '0 0 32 32',\n 'M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z'\n ],\n 'menu': [\n '0 0 22 32',\n 'M20.8 14.4q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2zM1.6 11.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2zM20.8 20.8q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2z'\n ],\n 'camera': [\n '0 0 32 32',\n 'M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z'\n ]\n};\nmodule.exports = function (type) {\n return '\\n';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg.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 _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}\nconsole.log('%c DPlayer 1.5.0 %c http://dplayer.js.org ', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nrequire('./DPlayer.scss');\nvar utils = require('./utils.js');\nvar svg = require('./svg.js');\nvar handleOption = require('./option.js');\nvar i18n = require('./i18n.js');\nvar html = require('./html.js');\nvar Video = require('./video.js');\nvar isMobile = /mobile/i.test(window.navigator.userAgent);\nvar index = 0;\nvar DPlayer = function () {\n function DPlayer(option) {\n var _this = this;\n _classCallCheck(this, DPlayer);\n this.option = handleOption(option);\n this.option.element.classList.add('dplayer');\n if (this.option.video.quality) {\n this.qualityIndex = this.option.video.defaultQuality;\n this.quality = this.option.video.quality[this.option.video.defaultQuality];\n }\n this.tran = new i18n(this.option.lang).tran;\n this.updateBar = function (type, percentage, direction) {\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n bar[type + 'Bar'].style[direction] = percentage * 100 + '%';\n };\n var eventTypes = [\n 'play',\n 'pause',\n 'canplay',\n 'playing',\n 'ended',\n 'error'\n ];\n this.event = {};\n for (var i = 0; i < eventTypes.length; i++) {\n this.event[eventTypes[i]] = [];\n }\n this.trigger = function (type) {\n for (var _i = 0; _i < _this.event[type].length; _i++) {\n _this.event[type][_i]();\n }\n };\n this.element = this.option.element;\n if (!this.option.danmaku) {\n this.element.classList.add('dplayer-no-danmaku');\n }\n if (isMobile) {\n this.element.classList.add('dplayer-mobile');\n }\n this.element.innerHTML = html.main(option, index, this.tran);\n this.arrow = this.element.offsetWidth <= 500;\n if (this.arrow) {\n var arrowStyle = document.createElement('style');\n arrowStyle.innerHTML = '.dplayer .dplayer-danmaku{font-size:18px}';\n document.head.appendChild(arrowStyle);\n }\n this.video = new Video(this.element.getElementsByClassName('dplayer-video-current'));\n this.initVideo();\n this.bezel = this.element.getElementsByClassName('dplayer-bezel-icon')[0];\n this.bezel.addEventListener('animationend', function () {\n _this.bezel.classList.remove('dplayer-bezel-transition');\n });\n this.playButton = this.element.getElementsByClassName('dplayer-play-icon')[0];\n this.paused = true;\n this.playButton.addEventListener('click', function () {\n _this.toggle();\n });\n var videoWrap = this.element.getElementsByClassName('dplayer-video-wrap')[0];\n var conMask = this.element.getElementsByClassName('dplayer-controller-mask')[0];\n if (!isMobile) {\n videoWrap.addEventListener('click', function () {\n _this.toggle();\n });\n conMask.addEventListener('click', function () {\n _this.toggle();\n });\n } else {\n var toggleController = function toggleController() {\n if (_this.element.classList.contains('dplayer-hide-controller')) {\n _this.element.classList.remove('dplayer-hide-controller');\n } else {\n _this.element.classList.add('dplayer-hide-controller');\n }\n };\n videoWrap.addEventListener('click', toggleController);\n conMask.addEventListener('click', toggleController);\n }\n var bar = {};\n bar.playedBar = this.element.getElementsByClassName('dplayer-played')[0];\n bar.loadedBar = this.element.getElementsByClassName('dplayer-loaded')[0];\n var pbar = this.element.getElementsByClassName('dplayer-bar-wrap')[0];\n var pbarTimeTips = this.element.getElementsByClassName('dplayer-bar-time')[0];\n var barWidth = void 0;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.danmakuTime = false;\n this.playedTime = false;\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 var setCheckLoadingTime = function setCheckLoadingTime() {\n _this.checkLoading = setInterval(function () {\n currentPlayPos = _this.video.currentTime();\n if (!bufferingDetected && currentPlayPos < lastPlayPos + 0.01 && !_this.video.attr('paused')) {\n _this.element.classList.add('dplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos + 0.01 && !_this.video.attr('paused')) {\n _this.element.classList.remove('dplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }, 100);\n };\n var clearCheckLoadingTime = function clearCheckLoadingTime() {\n clearInterval(_this.checkLoading);\n };\n this.animationFrame = function () {\n if (_this.playedTime) {\n _this.updateBar('played', _this.video.currentTime() / _this.video.duration, 'width');\n _this.element.getElementsByClassName('dplayer-ptime')[0].innerHTML = utils.secondToTime(_this.video.currentTime());\n _this.trigger('playing');\n }\n if (_this.danmakuTime && _this.option.danmaku && showdan && _this.dan) {\n var item = _this.dan[_this.danIndex];\n var danmakus = [];\n while (item && _this.video.currentTime() > parseFloat(item.time)) {\n danmakus.push(item);\n item = _this.dan[++_this.danIndex];\n }\n _this.pushDanmaku(danmakus);\n }\n window.requestAnimationFrame(_this.animationFrame);\n };\n window.requestAnimationFrame(this.animationFrame);\n this.setTime = function (type) {\n if (!type) {\n _this.danmakuTime = true;\n _this.playedTime = true;\n setCheckLoadingTime();\n } else {\n _this[type + 'Time'] = true;\n if (type === 'played') {\n setCheckLoadingTime();\n }\n }\n };\n this.clearTime = function (type) {\n if (!type) {\n _this.danmakuTime = false;\n _this.playedTime = false;\n clearCheckLoadingTime();\n } else {\n _this[type + 'Time'] = false;\n if (type === 'played') {\n clearCheckLoadingTime();\n }\n }\n };\n pbar.addEventListener('click', function (event) {\n var e = event || window.event;\n barWidth = pbar.clientWidth;\n var percentage = (e.clientX - utils.getElementViewLeft(pbar)) / barWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('played', percentage, 'width');\n _this.video.seek(parseFloat(bar.playedBar.style.width) / 100 * _this.video.duration);\n });\n this.isTipsShow = false;\n this.timeTipsHandler = this.timeTipsHandler(pbar, pbarTimeTips).bind(this);\n pbar.addEventListener('mousemove', this.timeTipsHandler);\n pbar.addEventListener('mouseover', this.timeTipsHandler);\n pbar.addEventListener('mouseenter', this.timeTipsHandler);\n pbar.addEventListener('mouseout', this.timeTipsHandler);\n pbar.addEventListener('mouseleave', this.timeTipsHandler);\n var thumbMove = function thumbMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - utils.getElementViewLeft(pbar)) / barWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('played', percentage, 'width');\n _this.element.getElementsByClassName('dplayer-ptime')[0].innerHTML = utils.secondToTime(percentage * _this.video.duration);\n };\n var thumbUp = function thumbUp() {\n document.removeEventListener('mouseup', thumbUp);\n document.removeEventListener('mousemove', thumbMove);\n _this.video.seek(parseFloat(bar.playedBar.style.width) / 100 * _this.video.duration);\n _this.setTime();\n };\n pbar.addEventListener('mousedown', function () {\n barWidth = pbar.clientWidth;\n _this.clearTime();\n document.addEventListener('mousemove', thumbMove);\n document.addEventListener('mouseup', thumbUp);\n });\n bar.volumeBar = this.element.getElementsByClassName('dplayer-volume-bar-inner')[0];\n var volumeEle = this.element.getElementsByClassName('dplayer-volume')[0];\n var volumeBarWrapWrap = this.element.getElementsByClassName('dplayer-volume-bar-wrap')[0];\n var volumeBarWrap = this.element.getElementsByClassName('dplayer-volume-bar')[0];\n var volumeicon = this.element.getElementsByClassName('dplayer-volume-icon')[0];\n var vWidth = 35;\n this.switchVolumeIcon = function () {\n var volumeicon = _this.element.getElementsByClassName('dplayer-volume-icon')[0];\n if (_this.video.attr('volume') >= 0.8) {\n volumeicon.innerHTML = svg('volume-up');\n } else if (_this.video.attr('volume') > 0) {\n volumeicon.innerHTML = svg('volume-down');\n } else {\n volumeicon.innerHTML = svg('volume-off');\n }\n };\n var volumeMove = function volumeMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - utils.getElementViewLeft(volumeBarWrap) - 5.5) / vWidth;\n _this.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener('mouseup', volumeUp);\n document.removeEventListener('mousemove', volumeMove);\n volumeEle.classList.remove('dplayer-volume-active');\n };\n volumeBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - utils.getElementViewLeft(volumeBarWrap) - 5.5) / vWidth;\n _this.volume(percentage);\n });\n volumeBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', volumeMove);\n document.addEventListener('mouseup', volumeUp);\n volumeEle.classList.add('dplayer-volume-active');\n });\n volumeicon.addEventListener('click', function () {\n if (_this.video.attr('muted')) {\n _this.video.attr('muted', false);\n _this.switchVolumeIcon();\n _this.updateBar('volume', _this.video.attr('volume'), 'width');\n } else {\n _this.video.attr('muted', true);\n volumeicon.innerHTML = svg('volume-off');\n _this.updateBar('volume', 0, 'width');\n }\n });\n var hideTime = 0;\n if (!isMobile) {\n var hideController = function hideController() {\n _this.element.classList.remove('dplayer-hide-controller');\n clearTimeout(hideTime);\n hideTime = setTimeout(function () {\n if (_this.video.attr('played').length) {\n _this.element.classList.add('dplayer-hide-controller');\n closeSetting();\n closeComment();\n }\n }, 2000);\n };\n this.element.addEventListener('mousemove', hideController);\n this.element.addEventListener('click', hideController);\n }\n this.danOpacity = localStorage.getItem('DPlayer-opacity') || 0.7;\n var settingHTML = html.setting(this.tran);\n var settingIcon = this.element.getElementsByClassName('dplayer-setting-icon')[0];\n var settingBox = this.element.getElementsByClassName('dplayer-setting-box')[0];\n var mask = this.element.getElementsByClassName('dplayer-mask')[0];\n settingBox.innerHTML = settingHTML.original;\n var closeSetting = function closeSetting() {\n if (settingBox.classList.contains('dplayer-setting-box-open')) {\n settingBox.classList.remove('dplayer-setting-box-open');\n mask.classList.remove('dplayer-mask-show');\n setTimeout(function () {\n settingBox.classList.remove('dplayer-setting-box-narrow');\n settingBox.innerHTML = settingHTML.original;\n settingEvent();\n }, 300);\n }\n };\n var openSetting = function openSetting() {\n settingBox.classList.add('dplayer-setting-box-open');\n mask.classList.add('dplayer-mask-show');\n };\n mask.addEventListener('click', function () {\n closeSetting();\n });\n settingIcon.addEventListener('click', function () {\n openSetting();\n });\n this.loop = this.option.loop;\n var danContainer = this.element.getElementsByClassName('dplayer-danmaku')[0];\n var showdan = true;\n var settingEvent = function settingEvent() {\n var loopEle = _this.element.getElementsByClassName('dplayer-setting-loop')[0];\n var loopToggle = loopEle.getElementsByClassName('dplayer-toggle-setting-input')[0];\n loopToggle.checked = _this.loop;\n loopEle.addEventListener('click', function () {\n loopToggle.checked = !loopToggle.checked;\n if (loopToggle.checked) {\n _this.loop = true;\n } else {\n _this.loop = false;\n }\n closeSetting();\n });\n var showDanEle = _this.element.getElementsByClassName('dplayer-setting-showdan')[0];\n var showDanToggle = showDanEle.getElementsByClassName('dplayer-showdan-setting-input')[0];\n showDanToggle.checked = showdan;\n showDanEle.addEventListener('click', function () {\n showDanToggle.checked = !showDanToggle.checked;\n if (showDanToggle.checked) {\n showdan = true;\n if (_this.option.danmaku) {\n for (var _i2 = 0; _i2 < _this.dan.length; _i2++) {\n if (_this.dan[_i2].time >= _this.video.currentTime()) {\n _this.danIndex = _i2;\n break;\n }\n _this.danIndex = _this.dan.length;\n }\n if (!_this.paused) {\n _this.setTime('danmaku');\n }\n }\n } else {\n showdan = false;\n if (_this.option.danmaku) {\n _this.clearTime('danmaku');\n danContainer.innerHTML = '';\n _this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n }\n }\n closeSetting();\n });\n var speedEle = _this.element.getElementsByClassName('dplayer-setting-speed')[0];\n speedEle.addEventListener('click', function () {\n settingBox.classList.add('dplayer-setting-box-narrow');\n settingBox.innerHTML = settingHTML.speed;\n var speedItem = settingBox.getElementsByClassName('dplayer-setting-speed-item');\n var _loop = function _loop(_i3) {\n speedItem[_i3].addEventListener('click', function () {\n _this.video.attr('playbackRate', speedItem[_i3].dataset.speed);\n closeSetting();\n });\n };\n for (var _i3 = 0; _i3 < speedItem.length; _i3++) {\n _loop(_i3);\n }\n });\n if (_this.option.danmaku) {\n bar.danmakuBar = _this.element.getElementsByClassName('dplayer-danmaku-bar-inner')[0];\n var danmakuBarWrapWrap = _this.element.getElementsByClassName('dplayer-danmaku-bar-wrap')[0];\n var danmakuBarWrap = _this.element.getElementsByClassName('dplayer-danmaku-bar')[0];\n var danmakuSettingBox = _this.element.getElementsByClassName('dplayer-setting-danmaku')[0];\n var dWidth = 130;\n _this.updateBar('danmaku', _this.danOpacity, 'width');\n var danmakuMove = function danmakuMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - utils.getElementViewLeft(danmakuBarWrap)) / dWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('danmaku', percentage, 'width');\n var items = _this.element.getElementsByClassName('dplayer-danmaku-item');\n for (var _i4 = 0; _i4 < items.length; _i4++) {\n items[_i4].style.opacity = percentage;\n }\n _this.danOpacity = percentage;\n localStorage.setItem('DPlayer-opacity', _this.danOpacity);\n };\n var danmakuUp = function danmakuUp() {\n document.removeEventListener('mouseup', danmakuUp);\n document.removeEventListener('mousemove', danmakuMove);\n danmakuSettingBox.classList.remove('dplayer-setting-danmaku-active');\n };\n danmakuBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - utils.getElementViewLeft(danmakuBarWrap)) / dWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('danmaku', percentage, 'width');\n var items = _this.element.getElementsByClassName('dplayer-danmaku-item');\n for (var _i5 = 0; _i5 < items.length; _i5++) {\n items[_i5].style.opacity = percentage;\n }\n _this.danOpacity = percentage;\n localStorage.setItem('DPlayer-opacity', _this.danOpacity);\n });\n danmakuBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', danmakuMove);\n document.addEventListener('mouseup', danmakuUp);\n danmakuSettingBox.classList.add('dplayer-setting-danmaku-active');\n });\n }\n };\n settingEvent();\n if (this.video.duration !== 1) {\n this.element.getElementsByClassName('dplayer-dtime')[0].innerHTML = this.video.duration ? utils.secondToTime(this.video.duration) : '00:00';\n }\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n var measureStyle = getComputedStyle(this.element.getElementsByClassName('dplayer-danmaku-item')[0], null);\n var context = document.createElement('canvas').getContext('2d');\n context.font = measureStyle.getPropertyValue('font-size') + ' ' + measureStyle.getPropertyValue('font-family');\n this.danmakuMeasure = function (text) {\n return context.measureText(text).width;\n };\n if (this.option.danmaku) {\n this.danIndex = 0;\n this.readDanmaku();\n } else {\n if (this.option.autoplay && !isMobile) {\n this.play();\n } else if (isMobile) {\n this.pause();\n }\n }\n var commentInput = this.element.getElementsByClassName('dplayer-comment-input')[0];\n var commentIcon = this.element.getElementsByClassName('dplayer-comment-icon')[0];\n var commentBox = this.element.getElementsByClassName('dplayer-comment-box')[0];\n var commentSettingIcon = this.element.getElementsByClassName('dplayer-comment-setting-icon')[0];\n var commentSettingBox = this.element.getElementsByClassName('dplayer-comment-setting-box')[0];\n var commentSendIcon = this.element.getElementsByClassName('dplayer-send-icon')[0];\n var htmlEncode = function htmlEncode(str) {\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/');\n };\n var sendComment = function sendComment() {\n commentInput.blur();\n if (!commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n _this.notice(_this.tran('Please input danmaku content!'));\n return;\n }\n var danmakuData = {\n token: _this.option.danmaku.token,\n player: _this.option.danmaku.id,\n author: _this.option.danmaku.user,\n time: _this.video.currentTime(),\n text: commentInput.value,\n color: _this.element.querySelector('.dplayer-comment-setting-color input:checked').value,\n type: _this.element.querySelector('.dplayer-comment-setting-type input:checked').value\n };\n _this.option.apiBackend.send(_this.option.danmaku.api, danmakuData);\n commentInput.value = '';\n closeComment();\n _this.dan.splice(_this.danIndex, 0, danmakuData);\n _this.danIndex++;\n var danmaku = {\n text: htmlEncode(danmakuData.text),\n color: danmakuData.color,\n type: danmakuData.type,\n border: '2px solid ' + _this.option.theme\n };\n _this.pushDanmaku(danmaku);\n };\n var closeCommentSetting = function closeCommentSetting() {\n if (commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n commentSettingBox.classList.remove('dplayer-comment-setting-open');\n }\n };\n var toggleCommentSetting = function toggleCommentSetting() {\n if (commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n commentSettingBox.classList.remove('dplayer-comment-setting-open');\n } else {\n commentSettingBox.classList.add('dplayer-comment-setting-open');\n }\n };\n var disableHide = 0;\n var commentFocusTimeout = 0;\n var closeComment = function closeComment() {\n if (!commentBox.classList.contains('dplayer-comment-box-open')) {\n return;\n }\n commentBox.classList.remove('dplayer-comment-box-open');\n mask.classList.remove('dplayer-mask-show');\n _this.element.classList.remove('dplayer-show-controller');\n clearInterval(disableHide);\n clearTimeout(commentFocusTimeout);\n closeCommentSetting();\n };\n var openComment = function openComment() {\n if (commentBox.classList.contains('dplayer-comment-box-open')) {\n return;\n }\n commentBox.classList.add('dplayer-comment-box-open');\n mask.classList.add('dplayer-mask-show');\n _this.element.classList.add('dplayer-show-controller');\n disableHide = setInterval(function () {\n clearTimeout(hideTime);\n }, 1000);\n commentFocusTimeout = setTimeout(function () {\n commentInput.focus();\n }, 300);\n };\n mask.addEventListener('click', function () {\n closeComment();\n });\n commentIcon.addEventListener('click', function () {\n openComment();\n });\n commentSettingIcon.addEventListener('click', function () {\n toggleCommentSetting();\n });\n this.element.getElementsByClassName('dplayer-comment-setting-color')[0].addEventListener('click', function () {\n var sele = _this.element.querySelector('input[name=\"dplayer-danmaku-color-${index}\"]:checked+span');\n if (sele) {\n commentSettingIcon.getElementsByClassName('dplayer-fill')[0].style.fill = _this.element.querySelector('input[name=\"dplayer-danmaku-color-${index}\"]:checked').value;\n }\n });\n commentInput.addEventListener('click', function () {\n closeCommentSetting();\n });\n commentInput.addEventListener('keydown', function (e) {\n var event = e || window.event;\n if (event.keyCode === 13) {\n sendComment();\n }\n });\n commentSendIcon.addEventListener('click', sendComment);\n var resetAnimation = function resetAnimation() {\n var danWidth = danContainer.offsetWidth;\n var items = _this.element.getElementsByClassName('dplayer-danmaku-item');\n for (var _i6 = 0; _i6 < items.length; _i6++) {\n items[_i6].style.transform = 'translateX(-' + danWidth + 'px)';\n }\n };\n this.element.addEventListener('fullscreenchange', function () {\n resetAnimation();\n });\n this.element.addEventListener('mozfullscreenchange', function () {\n resetAnimation();\n });\n this.element.addEventListener('webkitfullscreenchange', function () {\n resetAnimation();\n });\n this.element.getElementsByClassName('dplayer-full-icon')[0].addEventListener('click', function () {\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n if (_this.element.requestFullscreen) {\n _this.element.requestFullscreen();\n } else if (_this.element.mozRequestFullScreen) {\n _this.element.mozRequestFullScreen();\n } else if (_this.element.webkitRequestFullscreen) {\n _this.element.webkitRequestFullscreen();\n } else if (_this.video.attr('webkitEnterFullscreen')) {\n _this.video.current.webkitEnterFullscreen();\n }\n } else {\n if (document.cancelFullScreen) {\n document.cancelFullScreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitCancelFullScreen) {\n document.webkitCancelFullScreen();\n }\n }\n resetAnimation();\n });\n this.element.getElementsByClassName('dplayer-full-in-icon')[0].addEventListener('click', function () {\n if (_this.element.classList.contains('dplayer-fulled')) {\n _this.element.classList.remove('dplayer-fulled');\n } else {\n _this.element.classList.add('dplayer-fulled');\n resetAnimation();\n }\n });\n var handleKeyDown = function handleKeyDown(e) {\n var tag = document.activeElement.tagName.toUpperCase();\n var editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n var event = e || window.event;\n var percentage = void 0;\n switch (event.keyCode) {\n case 32:\n event.preventDefault();\n _this.toggle();\n break;\n case 37:\n event.preventDefault();\n _this.video.seek(_this.video.currentTime() - 5);\n break;\n case 39:\n event.preventDefault();\n _this.video.seek(_this.video.currentTime() + 5);\n break;\n case 38:\n event.preventDefault();\n percentage = _this.video.attr('volume') + 0.1;\n _this.volume(percentage);\n break;\n case 40:\n event.preventDefault();\n percentage = _this.video.attr('volume') - 0.1;\n _this.volume(percentage);\n break;\n }\n }\n };\n if (this.option.hotkey) {\n document.addEventListener('keydown', handleKeyDown);\n }\n document.addEventListener('keydown', function (e) {\n var event = e || window.event;\n switch (event.keyCode) {\n case 27:\n if (_this.element.classList.contains('dplayer-fulled')) {\n _this.element.classList.remove('dplayer-fulled');\n resetAnimation();\n }\n break;\n }\n });\n var menu = this.element.getElementsByClassName('dplayer-menu')[0];\n this.element.addEventListener('contextmenu', function (e) {\n var event = e || window.event;\n event.preventDefault();\n menu.classList.add('dplayer-menu-show');\n var clientRect = _this.element.getBoundingClientRect();\n var menuLeft = event.clientX - clientRect.left;\n var menuTop = event.clientY - clientRect.top;\n if (menuLeft + menu.offsetWidth >= clientRect.width) {\n menu.style.right = clientRect.width - menuLeft + 'px';\n menu.style.left = 'initial';\n } else {\n menu.style.left = event.clientX - _this.element.getBoundingClientRect().left + 'px';\n menu.style.right = 'initial';\n }\n if (menuTop + menu.offsetHeight >= clientRect.height) {\n menu.style.bottom = clientRect.height - menuTop + 'px';\n menu.style.top = 'initial';\n } else {\n menu.style.top = event.clientY - _this.element.getBoundingClientRect().top + 'px';\n menu.style.bottom = 'initial';\n }\n mask.classList.add('dplayer-mask-show');\n mask.addEventListener('click', function () {\n mask.classList.remove('dplayer-mask-show');\n menu.classList.remove('dplayer-menu-show');\n });\n });\n if (this.option.video.quality) {\n this.element.getElementsByClassName('dplayer-quality-list')[0].addEventListener('click', function (e) {\n if (e.target.classList.contains('dplayer-quality-item')) {\n _this.switchQuality(e.target.dataset.index);\n }\n });\n }\n if (this.option.screenshot) {\n var camareIcon = this.element.getElementsByClassName('dplayer-camera-icon')[0];\n camareIcon.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this.video.attr('videoWidth');\n canvas.height = _this.video.attr('videoHeight');\n canvas.getContext('2d').drawImage(_this.video.current, 0, 0, canvas.width, canvas.height);\n camareIcon.href = canvas.toDataURL();\n camareIcon.download = 'DPlayer.png';\n });\n }\n index++;\n }\n _createClass(DPlayer, [\n {\n key: 'play',\n value: function play(time) {\n if (Object.prototype.toString.call(time) === '[object Number]') {\n this.video.seek(time);\n }\n this.paused = false;\n if (this.video.attr('paused')) {\n this.bezel.innerHTML = svg('play');\n this.bezel.classList.add('dplayer-bezel-transition');\n }\n this.playButton.innerHTML = svg('pause');\n this.video.play();\n this.setTime();\n this.element.classList.add('dplayer-playing');\n this.trigger('play');\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n this.element.classList.remove('dplayer-loading');\n if (!this.video.attr('paused')) {\n this.bezel.innerHTML = svg('pause');\n this.bezel.classList.add('dplayer-bezel-transition');\n }\n this.ended = false;\n this.playButton.innerHTML = svg('play');\n this.video.pause();\n this.clearTime();\n this.element.classList.remove('dplayer-playing');\n this.trigger('pause');\n }\n },\n {\n key: 'volume',\n value: function volume(percentage) {\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n this.updateBar('volume', percentage, 'width');\n this.video.attr('volume', percentage);\n if (this.video.attr('muted')) {\n this.video.attr('muted', false);\n }\n this.switchVolumeIcon();\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.video.attr('paused')) {\n this.play();\n } else {\n this.pause();\n }\n }\n },\n {\n key: 'on',\n value: function on(event, callback) {\n if (typeof callback === 'function') {\n this.event[event].push(callback);\n }\n }\n },\n {\n key: '_readAllEndpoints',\n value: function _readAllEndpoints(endpoints, finish) {\n var _this2 = this;\n var results = [];\n var readCount = 0;\n var cbk = function cbk(i) {\n return function (err, data) {\n ++readCount;\n if (err) {\n if (err.response) {\n _this2.notice(err.response.msg);\n } else {\n _this2.notice('Request was unsuccessful: ' + err.status);\n }\n results[i] = [];\n } else {\n results[i] = data;\n }\n if (readCount === endpoints.length) {\n return finish(results);\n }\n };\n };\n for (var i = 0; i < endpoints.length; ++i) {\n this.option.apiBackend.read(endpoints[i], cbk(i));\n }\n }\n },\n {\n key: 'readDanmaku',\n value: function readDanmaku() {\n var _this3 = this;\n var isMobile = /mobile/i.test(window.navigator.userAgent);\n var apiurl = void 0;\n if (this.option.danmaku.maximum) {\n apiurl = this.option.danmaku.api + '?id=' + this.option.danmaku.id + '&max=' + this.option.danmaku.maximum;\n } else {\n apiurl = this.option.danmaku.api + '?id=' + this.option.danmaku.id;\n }\n var endpoints = (this.option.danmaku.addition || []).slice(0);\n endpoints.push(apiurl);\n this._readAllEndpoints(endpoints, function (results) {\n _this3.danIndex = 0;\n _this3.dan = [].concat.apply([], results).sort(function (a, b) {\n return a.time - b.time;\n });\n _this3.element.getElementsByClassName('dplayer-danloading')[0].style.display = 'none';\n if (_this3.option.autoplay && !isMobile) {\n _this3.play();\n } else if (isMobile) {\n _this3.pause();\n }\n });\n }\n },\n {\n key: 'pushDanmaku',\n value: function pushDanmaku(danmaku) {\n var _this4 = this;\n var danContainer = this.element.getElementsByClassName('dplayer-danmaku')[0];\n var itemHeight = this.arrow ? 24 : 30;\n var danWidth = danContainer.offsetWidth;\n var danHeight = danContainer.offsetHeight;\n var itemY = parseInt(danHeight / itemHeight);\n var danItemRight = function danItemRight(ele) {\n var eleWidth = ele.offsetWidth || parseInt(ele.style.width);\n var eleRight = ele.getBoundingClientRect().right || danContainer.getBoundingClientRect().right + eleWidth;\n return danContainer.getBoundingClientRect().right - eleRight;\n };\n var danSpeed = function danSpeed(width) {\n return (danWidth + width) / 5;\n };\n var getTunnel = function getTunnel(ele, type, width) {\n var tmp = danWidth / danSpeed(width);\n var _loop2 = function _loop2(i) {\n var item = _this4.danTunnel[type][i + ''];\n if (item && item.length) {\n for (var j = 0; j < item.length; j++) {\n var danRight = danItemRight(item[j]) - 10;\n if (danRight <= danWidth - tmp * danSpeed(parseInt(item[j].style.width)) || danRight <= 0) {\n break;\n }\n if (j === item.length - 1) {\n _this4.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this4.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n };\n for (var i = 0;; i++) {\n var _ret2 = _loop2(i);\n if ((typeof _ret2 === 'undefined' ? 'undefined' : _typeof(_ret2)) === 'object')\n return _ret2.v;\n }\n };\n if (Object.prototype.toString.call(danmaku) !== '[object Array]') {\n danmaku = [danmaku];\n }\n var docFragment = document.createDocumentFragment();\n var _loop3 = function _loop3(i) {\n if (!danmaku[i].type) {\n danmaku[i].type = 'right';\n }\n if (!danmaku[i].color) {\n danmaku[i].color = '#fff';\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-' + danmaku[i].type);\n item.innerHTML = danmaku[i].text;\n item.style.opacity = _this4.danOpacity;\n item.style.color = danmaku[i].color;\n item.style.border = danmaku[i].border;\n item.addEventListener('animationend', function () {\n danContainer.removeChild(item);\n });\n var itemWidth = _this4.danmakuMeasure(danmaku[i].text);\n switch (danmaku[i].type) {\n case 'right':\n item.style.width = itemWidth + 1 + 'px';\n item.style.top = itemHeight * getTunnel(item, danmaku[i].type, itemWidth) + 'px';\n item.style.transform = 'translateX(-' + danWidth + 'px)';\n break;\n case 'top':\n item.style.top = itemHeight * getTunnel(item, danmaku[i].type) + 'px';\n break;\n case 'bottom':\n item.style.bottom = itemHeight * getTunnel(item, danmaku[i].type) + 'px';\n break;\n default:\n console.error('Can\\'t handled danmaku type: ' + danmaku[i].type);\n }\n item.classList.add('dplayer-danmaku-move');\n docFragment.appendChild(item);\n };\n for (var i = 0; i < danmaku.length; i++) {\n _loop3(i);\n }\n danContainer.appendChild(docFragment);\n return docFragment;\n }\n },\n {\n key: 'switchVideo',\n value: function switchVideo(video, danmaku) {\n this.video.attr('poster', video.pic ? video.pic : '');\n this.video.attr('src', video.url);\n this.pause();\n if (danmaku) {\n this.dan = [];\n this.danIndex = 0;\n this.element.getElementsByClassName('dplayer-danloading')[0].style.display = 'block';\n this.updateBar('played', 0, 'width');\n this.updateBar('loaded', 0, 'width');\n this.element.getElementsByClassName('dplayer-ptime')[0].innerHTML = '00:00';\n this.element.getElementsByClassName('dplayer-danmaku')[0].innerHTML = '';\n this.danTuel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.option.danmaku = danmaku;\n this.readDanmaku();\n }\n }\n },\n {\n key: 'initVideo',\n value: function initVideo() {\n var _this5 = this;\n var enablehls = void 0;\n if (this.option.video.type === 'auto') {\n enablehls = /m3u8(#|\\?|$)/i.exec(this.option.video.url);\n } else if (this.option.video.type === 'hls') {\n enablehls = true;\n } else {\n enablehls = false;\n }\n if (enablehls && Hls.isSupported()) {\n var hls = new Hls();\n hls.attachMedia(this.video.current);\n hls.on(Hls.Events.MEDIA_ATTACHED, function () {\n hls.loadSource(_this5.option.video.url);\n hls.on(Hls.Events.MANIFEST_PARSED, function (event, data) {\n this.notice('manifest loaded, found ' + data.levels.length + ' quality level');\n });\n });\n }\n var enableflv = void 0;\n if (this.option.video.type === 'auto') {\n enableflv = /.flv(#|\\?|$)/i.exec(this.option.video.url);\n } else if (this.option.video.type === 'flv') {\n enableflv = true;\n } else {\n enableflv = false;\n }\n if (enableflv && flvjs.isSupported()) {\n var flvPlayer = flvjs.createPlayer({\n type: 'flv',\n url: this.option.video.url\n });\n flvPlayer.attachMediaElement(this.video.current);\n flvPlayer.load();\n }\n if (this.option.danmaku) {\n this.video.on('all', 'seeking', function () {\n for (var i = 0; i < _this5.dan.length; i++) {\n if (_this5.dan[i].time >= _this5.video.currentTime()) {\n _this5.danIndex = i;\n return;\n }\n _this5.danIndex = _this5.dan.length;\n }\n });\n }\n this.video.on('all', 'durationchange', function (i, video) {\n if (video.duration !== 1) {\n _this5.element.getElementsByClassName('dplayer-dtime')[0].innerHTML = utils.secondToTime(_this5.video.duration);\n }\n });\n this.video.on('current', 'progress', function (i, video) {\n var percentage = video.buffered.length ? video.buffered.end(video.buffered.length - 1) / video.duration : 0;\n _this5.updateBar('loaded', percentage, 'width');\n });\n this.video.on('all', 'error', function () {\n _this5.notice(_this5.tran('This video fails to load'), -1);\n _this5.trigger('pause');\n });\n this.video.on('current', 'canplay', function () {\n _this5.trigger('canplay');\n });\n this.ended = false;\n this.video.on('all', 'ended', function (i) {\n if (i === _this5.video.videos.length - 1) {\n _this5.updateBar('played', 1, 'width');\n if (!_this5.loop) {\n _this5.ended = true;\n _this5.pause();\n _this5.trigger('ended');\n } else {\n _this5.video.switch(0);\n _this5.video.play();\n }\n _this5.danIndex = 0;\n }\n });\n this.video.on('current', 'play', function () {\n if (_this5.paused) {\n _this5.play();\n }\n });\n this.video.on('current', 'pause', function () {\n if (!_this5.paused) {\n _this5.pause();\n }\n });\n this.video.attr('volume', parseInt(this.element.getElementsByClassName('dplayer-volume-bar-inner')[0].style.width) / 100);\n }\n },\n {\n key: 'switchQuality',\n value: function switchQuality(index) {\n var _this6 = this;\n if (this.qualityIndex === index || this.switchingQuality) {\n return;\n } else {\n this.qualityIndex = index;\n }\n this.switchingQuality = true;\n this.quality = this.option.video.quality[index];\n this.element.getElementsByClassName('dplayer-quality-icon')[0].innerHTML = this.quality.name;\n this.video.pause();\n var videoHTML = html.video(false, null, this.option.screenshot, 'auto', this.quality.url);\n var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n var parent = this.element.getElementsByClassName('dplayer-video-wrap')[0];\n parent.insertBefore(videoEle, parent.getElementsByTagName('div')[0]);\n this.prevVideo = this.video;\n this.video = new Video([videoEle], this.prevVideo.duration);\n this.initVideo();\n this.video.seek(this.prevVideo.currentTime());\n this.notice(this.tran('Switching to') + ' ' + this.quality.name + ' ' + this.tran('quality'), -1);\n this.video.on('current', 'canplay', function () {\n if (_this6.prevVideo) {\n if (_this6.video.currentTime() !== _this6.prevVideo.currentTime()) {\n _this6.video.seek(_this6.prevVideo.currentTime());\n return;\n }\n parent.removeChild(_this6.prevVideo.current);\n _this6.video.current.classList.add('dplayer-video-current');\n _this6.video.play();\n _this6.prevVideo = null;\n _this6.notice(_this6.tran('Switched to') + ' ' + _this6.quality.name + ' ' + _this6.tran('quality'));\n _this6.switchingQuality = false;\n }\n });\n }\n },\n {\n key: 'timeTipsHandler',\n value: function timeTipsHandler(pbar, timeTips) {\n var _this7 = this;\n var cumulativeOffset = function cumulativeOffset(element) {\n var top = 0, left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n return {\n top: top,\n left: left\n };\n };\n return function (e) {\n if (!_this7.video.duration) {\n return;\n }\n var clientX = e.clientX;\n var px = cumulativeOffset(pbar).left;\n var tx = clientX - px;\n timeTips.innerText = utils.secondToTime(_this7.video.duration * (tx / pbar.offsetWidth));\n timeTips.style.left = tx - 20 + 'px';\n switch (e.type) {\n case 'mouseenter':\n case 'mouseover':\n case 'mousemove':\n if (_this7.isTipsShow) {\n return;\n }\n timeTips.classList.remove('hidden');\n _this7.isTipsShow = true;\n break;\n case 'mouseleave':\n case 'mouseout':\n if (!_this7.isTipsShow) {\n return;\n }\n timeTips.classList.add('hidden');\n _this7.isTipsShow = false;\n break;\n }\n };\n }\n },\n {\n key: 'notice',\n value: function notice(text, time) {\n var noticeEle = this.element.getElementsByClassName('dplayer-notice')[0];\n noticeEle.innerHTML = text;\n noticeEle.style.opacity = 1;\n if (this.noticeTime) {\n clearTimeout(this.noticeTime);\n }\n if (time && time < 0) {\n return;\n }\n this.noticeTime = setTimeout(function () {\n noticeEle.style.opacity = 0;\n }, time || 2000);\n }\n }\n ]);\n return DPlayer;\n}();\nmodule.exports = DPlayer;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/DPlayer.js\n// module id = 1\n// module chunks = 0","'use strict';\nmodule.exports = {\n secondToTime: function secondToTime(second) {\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var min = parseInt(second / 60);\n var sec = parseInt(second - min * 60);\n return add0(min) + ':' + add0(sec);\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};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/utils.js\n// module id = 3\n// module chunks = 0","'use strict';\nvar defaultApiBackend = require('./api.js');\nmodule.exports = function (option) {\n var isMobile = /mobile/i.test(window.navigator.userAgent);\n if (isMobile) {\n option.autoplay = false;\n }\n var defaultOption = {\n element: document.getElementsByClassName('dplayer')[0],\n autoplay: false,\n theme: '#b7daff',\n loop: false,\n lang: navigator.language.indexOf('zh') !== -1 ? 'zh' : 'en',\n screenshot: true,\n hotkey: true,\n preload: 'auto',\n apiBackend: defaultApiBackend,\n contextmenu: [\n {\n text: '关于作者',\n link: 'http://diygod.me'\n },\n {\n text: '播放器意见反馈',\n link: 'https://github.com/DIYgod/DPlayer/issues'\n },\n {\n text: '关于 DPlayer 播放器',\n link: 'https://github.com/DIYgod/DPlayer'\n }\n ]\n };\n for (var defaultKey in defaultOption) {\n if (defaultOption.hasOwnProperty(defaultKey) && !option.hasOwnProperty(defaultKey)) {\n option[defaultKey] = defaultOption[defaultKey];\n }\n }\n if (Object.prototype.toString.call(option.video.url) !== '[object Array]') {\n option.video.url = [option.video.url];\n }\n if (option.video && !option.video.hasOwnProperty('type')) {\n option.video.type = 'auto';\n }\n if (option.danmaku && !option.danmaku.hasOwnProperty('user')) {\n option.danmaku.user = 'DIYgod';\n }\n if (option.video.quality) {\n option.video.url = [option.video.quality[option.video.defaultQuality].url];\n }\n return option;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/option.js\n// module id = 4\n// module chunks = 0","'use strict';\nvar SendXMLHttpRequest = function SendXMLHttpRequest(url, data, success, error, fail) {\n var xhr = new XMLHttpRequest();\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n var response = JSON.parse(xhr.responseText);\n if (response.code !== 1) {\n return error(xhr, response);\n }\n return success(xhr, response);\n }\n fail(xhr);\n }\n };\n xhr.open(data !== null ? 'POST' : 'GET', url, true);\n xhr.send(data !== null ? JSON.stringify(data) : null);\n};\nmodule.exports = {\n send: function send(endpoint, danmakuData) {\n SendXMLHttpRequest(endpoint, danmakuData, function (xhr, response) {\n console.log('Post danmaku: ', response);\n }, function (xhr, response) {\n alert(response.msg);\n }, function (xhr) {\n console.log('Request was unsuccessful: ' + xhr.status);\n });\n },\n read: function read(endpoint, cbk) {\n SendXMLHttpRequest(endpoint, null, function (xhr, response) {\n cbk(null, response.danmaku);\n }, function (xhr, response) {\n cbk({\n status: xhr.status,\n response: response\n });\n }, function (xhr) {\n cbk({\n status: xhr.status,\n response: null\n });\n });\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/api.js\n// module id = 5\n// module chunks = 0","'use strict';\nvar tranZH = {\n 'Danmaku is loading': '弹幕加载中',\n 'Top': '顶部',\n 'Bottom': '底部',\n 'Rolling': '滚动',\n 'Input danmaku, hit Enter': '输入弹幕\\uFF0C回车发送',\n 'About author': '关于作者',\n 'DPlayer feedback': '播放器意见反馈',\n 'About DPlayer': '关于 DPlayer 播放器',\n 'Loop': '洗脑循环',\n 'Speed': '速度',\n 'Opacity for danmaku': '弹幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '要输入弹幕内容啊喂\\uFF01',\n 'Set danmaku color': '设置弹幕颜色',\n 'Set danmaku type': '设置弹幕类型',\n 'Danmaku': '弹幕',\n 'This video fails to load': '视频加载失败',\n 'Switching to': '正在切换至',\n 'Switched to': '已经切换至',\n 'quality': '画质'\n};\nmodule.exports = function (lang) {\n var _this = this;\n this.lang = lang;\n this.tran = function (text) {\n if (_this.lang === 'en') {\n return text;\n } else if (_this.lang === 'zh') {\n return tranZH[text];\n }\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/i18n.js\n// module id = 6\n// module chunks = 0","'use strict';\nvar svg = require('./svg.js');\nvar html = {\n main: function main(option, index, tran) {\n var videos = '';\n for (var i = 0; i < option.video.url.length; i++) {\n videos += html.video(i === 0, option.video.pic, option.screenshot, option.video.url.length ? 'metadata' : option.preload, option.video.url[i]);\n }\n return '
' + videos + '' + (option.logo ? '
' : '') + '
' + (option.danmaku ? '' + tran('Danmaku is loading') + '' : '') + '
0:00 / 0:00
' + (option.video.quality ? '
' + html.qualityList(option.video.quality) + '
' : '') + '' + (option.screenshot ? '' + svg('camera') + '' : '') + '
' + tran('Set danmaku color') + '
' + tran('Set danmaku type') + '
00:00
' + html.contextmenuList(option.contextmenu) + '
';\n },\n contextmenuList: function contextmenuList(contextmenu) {\n var result = '
';\n for (var i = 0; i < contextmenu.length; i++) {\n result += '
' + contextmenu[i].text + '
';\n }\n result += '
';\n return result;\n },\n qualityList: function qualityList(quality) {\n var result = '
';\n for (var i = 0; i < quality.length; i++) {\n result += '
' + quality[i].name + '
';\n }\n result += '
';\n return result;\n },\n video: function video(current, pic, screenshot, preload, url) {\n return '';\n },\n setting: function setting(tran) {\n return {\n 'original': '
' + tran('Speed') + '
' + svg('right') + '
' + tran('Loop') + '
' + tran('Danmaku') + '
' + tran('Opacity for danmaku') + '
',\n 'speed': '
0.5
0.75
' + tran('Normal') + '
1.25
1.5
2
'\n };\n }\n};\nmodule.exports = html;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/html.js\n// module id = 7\n// module chunks = 0","'use strict';\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 Video = function () {\n function Video(videos, duration) {\n var _this = this;\n _classCallCheck(this, Video);\n this.videos = videos;\n this.multi = this.videos.length > 1;\n this.index = 0;\n this.current = this.videos[this.index];\n this.duration = duration || 0;\n this.durationArr = [];\n this.eventAll = [];\n this.eventCurrent = [];\n this.on('all', 'durationchange', function (i, video) {\n if (video.duration !== 1) {\n _this.durationArr[i] = video.duration;\n if (!duration) {\n _this.duration = _this.durationArr.reduce(function (sum, cur) {\n return sum + cur;\n });\n }\n }\n });\n this.on('current', 'end', function () {\n _this.switch(_this.index + 1);\n });\n }\n _createClass(Video, [\n {\n key: 'switch',\n value: function _switch(index, time) {\n if (this.index !== index) {\n this.videos[index].classList.add('dplayer-video-current');\n if (!this.current.paused) {\n this.videos[index].play();\n }\n this.current.classList.remove('dplayer-video-current');\n this.current.pause();\n this.index = index;\n this.current = this.videos[this.index];\n this.videos[index].currentTime = time ? time : 0;\n } else {\n this.videos[index].currentTime = time ? time : 0;\n }\n }\n },\n {\n key: 'on',\n value: function on(type, event, callback) {\n var _this2 = this;\n if (typeof callback === 'function') {\n if (type === 'all') {\n if (!this.eventAll[event]) {\n this.eventAll[event] = [];\n }\n this.eventAll[event].push(callback);\n } else {\n if (!this.eventCurrent[event]) {\n this.eventCurrent[event] = [];\n }\n this.eventCurrent[event].push(callback);\n }\n if (['seeking'].indexOf(event) === -1) {\n var _loop = function _loop(i) {\n _this2.videos[i].addEventListener(event, function () {\n if (type === 'all' || _this2.videos[i] === _this2.current) {\n callback(i, _this2.videos[i]);\n }\n });\n };\n for (var i = 0; i < this.videos.length; i++) {\n _loop(i);\n }\n }\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(type, event) {\n var events = type === 'all' ? this.eventAll : this.eventCurrent;\n if (events[event]) {\n for (var i = 0; i < events[event].length; i++) {\n events[event][i]();\n }\n }\n }\n },\n {\n key: 'currentTime',\n value: function currentTime() {\n if (this.durationArr.slice(0, this.index).length) {\n return this.durationArr.slice(0, this.index).reduce(function (sum, cur) {\n return sum + cur;\n }) + this.current.currentTime;\n } else {\n return this.current.currentTime;\n }\n }\n },\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n time = Math.min(time, this.duration);\n var i = 0;\n var tmptime = 0;\n while (tmptime <= time) {\n tmptime += this.durationArr[i];\n i++;\n }\n var currentTime = void 0;\n if (this.durationArr.slice(0, this.index).length) {\n currentTime = time - this.durationArr.slice(0, i - 1).reduce(function (sum, cur) {\n return sum + cur;\n });\n } else {\n currentTime = time;\n }\n this.switch(i - 1, currentTime);\n this.trigger('all', 'seeking');\n }\n },\n {\n key: 'attr',\n value: function attr(option, value) {\n if (value !== undefined) {\n for (var i = 0; i < this.videos.length; i++) {\n this.videos[i][option] = value;\n }\n }\n return this.current[option];\n }\n },\n {\n key: 'play',\n value: function play() {\n this.current.play();\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.current.pause();\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n this.current.paused ? this.play() : this.pause();\n }\n }\n ]);\n return Video;\n}();\nmodule.exports = Video;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/video.js\n// module id = 8\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/dplayer/dist/DPlayer.min.css b/dplayer/dist/DPlayer.min.css new file mode 100644 index 0000000..68387f6 --- /dev/null +++ b/dplayer/dist/DPlayer.min.css @@ -0,0 +1,4 @@ +button[data-balloon]{overflow:visible}[data-balloon]{position:relative;cursor:pointer}[data-balloon]:after{font-family:sans-serif!important;font-weight:400!important;font-style:normal!important;text-shadow:none!important;font-size:12px!important;background:hsla(0,0%,7%,.9);border-radius:4px;color:#fff;content:attr(data-balloon);padding:.5em 1em;white-space:nowrap}[data-balloon]:after,[data-balloon]:before{filter:alpha(opactiy=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;transition:all .18s ease-out .18s;position:absolute;z-index:10}[data-balloon]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002C14.285 12.002 8.594 0 2.658 0z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;content:""}[data-balloon]:hover:after,[data-balloon]:hover:before,[data-balloon][data-balloon-visible]:after,[data-balloon][data-balloon-visible]:before{filter:alpha(opactiy=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";-moz-opacity:1;-khtml-opacity:1;opacity:1;pointer-events:auto}[data-balloon].font-awesome:after{font-family:FontAwesome}[data-balloon][data-balloon-break]:after{white-space:pre}[data-balloon][data-balloon-blunt]:after,[data-balloon][data-balloon-blunt]:before{transition:none}[data-balloon][data-balloon-pos=up]:after{margin-bottom:11px}[data-balloon][data-balloon-pos=up]:after,[data-balloon][data-balloon-pos=up]:before{bottom:100%;left:50%;-webkit-transform:translate(-50%,10px);transform:translate(-50%,10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]:before{margin-bottom:5px}[data-balloon][data-balloon-pos=up]:hover:after,[data-balloon][data-balloon-pos=up]:hover:before,[data-balloon][data-balloon-pos=up][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=up-left]:after{left:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-left]:after,[data-balloon][data-balloon-pos=up-left]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-left]:before{left:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-left]:hover:after,[data-balloon][data-balloon-pos=up-left]:hover:before,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=up-right]:after{right:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-right]:after,[data-balloon][data-balloon-pos=up-right]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-right]:before{right:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-right]:hover:after,[data-balloon][data-balloon-pos=up-right]:hover:before,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down]:after{margin-top:11px}[data-balloon][data-balloon-pos=down]:after,[data-balloon][data-balloon-pos=down]:before{left:50%;top:100%;-webkit-transform:translate(-50%,-10px);transform:translate(-50%,-10px)}[data-balloon][data-balloon-pos=down]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;margin-top:5px}[data-balloon][data-balloon-pos=down]:hover:after,[data-balloon][data-balloon-pos=down]:hover:before,[data-balloon][data-balloon-pos=down][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=down-left]:after{left:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;left:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:hover:after,[data-balloon][data-balloon-pos=down-left]:hover:before,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down-right]:after{right:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;right:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:hover:after,[data-balloon][data-balloon-pos=down-right]:hover:before,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=left]:after{margin-right:11px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M0 33.342V1.338c0 6 12.002 11.627 12.002 16.002C12.002 21.715 0 27.406 0 33.342z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;margin-right:5px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:hover:after,[data-balloon][data-balloon-pos=left]:hover:before,[data-balloon][data-balloon-pos=left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=left][data-balloon-visible]:before{-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-balloon][data-balloon-pos=right]:after{left:100%;margin-left:11px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M12 2.658v32.004c0-6-12.002-11.627-12.002-16.002C-.002 14.285 12 8.594 12 2.658z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;left:100%;margin-left:5px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:hover:after,[data-balloon][data-balloon-pos=right]:hover:before,[data-balloon][data-balloon-pos=right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=right][data-balloon-visible]:before{-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-balloon][data-balloon-length=small]:after{white-space:normal;width:80px}[data-balloon][data-balloon-length=medium]:after{white-space:normal;width:150px}[data-balloon][data-balloon-length=large]:after{white-space:normal;width:260px}[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:380px}@media screen and (max-width:768px){[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:90vw}}[data-balloon][data-balloon-length=fit]:after{white-space:normal;width:100%} +@-webkit-keyframes my-face{2%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}4%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}6%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}8%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}10%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}12%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}14%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}16%{-webkit-transform:translateY(-.5px) rotate(-1.5deg);transform:translateY(-.5px) rotate(-1.5deg)}18%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}20%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}22%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}24%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}26%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}28%{-webkit-transform:translateY(.5px) rotate(1.5deg);transform:translateY(.5px) rotate(1.5deg)}30%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}32%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}34%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}36%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}38%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}40%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}42%{-webkit-transform:translateY(2.5px) rotate(-1.5deg);transform:translateY(2.5px) rotate(-1.5deg)}44%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}46%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}48%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}50%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}52%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}54%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}56%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}58%{-webkit-transform:translateY(.5px) rotate(2.5deg);transform:translateY(.5px) rotate(2.5deg)}60%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}62%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}64%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}66%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}68%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}70%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}72%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}74%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}76%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}78%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}80%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}82%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}84%{-webkit-transform:translateY(1.5px) rotate(2.5deg);transform:translateY(1.5px) rotate(2.5deg)}86%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}88%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}90%{-webkit-transform:translateY(2.5px) rotate(-.5deg);transform:translateY(2.5px) rotate(-.5deg)}92%{-webkit-transform:translateY(.5px) rotate(-.5deg);transform:translateY(.5px) rotate(-.5deg)}94%{-webkit-transform:translateY(2.5px) rotate(.5deg);transform:translateY(2.5px) rotate(.5deg)}96%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}98%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}0%,to{-webkit-transform:translate(0) rotate(0deg);transform:translate(0) rotate(0deg)}}@keyframes my-face{2%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}4%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}6%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}8%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}10%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}12%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}14%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}16%{-webkit-transform:translateY(-.5px) rotate(-1.5deg);transform:translateY(-.5px) rotate(-1.5deg)}18%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}20%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}22%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}24%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}26%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}28%{-webkit-transform:translateY(.5px) rotate(1.5deg);transform:translateY(.5px) rotate(1.5deg)}30%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}32%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}34%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}36%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}38%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}40%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}42%{-webkit-transform:translateY(2.5px) rotate(-1.5deg);transform:translateY(2.5px) rotate(-1.5deg)}44%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}46%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}48%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}50%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}52%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}54%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}56%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}58%{-webkit-transform:translateY(.5px) rotate(2.5deg);transform:translateY(.5px) rotate(2.5deg)}60%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}62%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}64%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}66%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}68%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}70%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}72%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}74%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}76%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}78%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}80%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}82%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}84%{-webkit-transform:translateY(1.5px) rotate(2.5deg);transform:translateY(1.5px) rotate(2.5deg)}86%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}88%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}90%{-webkit-transform:translateY(2.5px) rotate(-.5deg);transform:translateY(2.5px) rotate(-.5deg)}92%{-webkit-transform:translateY(.5px) rotate(-.5deg);transform:translateY(.5px) rotate(-.5deg)}94%{-webkit-transform:translateY(2.5px) rotate(.5deg);transform:translateY(2.5px) rotate(.5deg)}96%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}98%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}0%,to{-webkit-transform:translate(0) rotate(0deg);transform:translate(0) rotate(0deg)}}.dplayer{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:1}.dplayer *{box-sizing:content-box}.dplayer svg{width:100%;height:100%}.dplayer svg circle,.dplayer svg path{fill:#fff}.dplayer:-webkit-full-screen{width:100%;height:100%;background:#000;position:fixed;z-index:100000;left:0;top:0;margin:0;padding:0;-webkit-transform:translate(0);transform:translate(0)}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{-webkit-animation:danmaku-center 6s linear;animation:danmaku-center 6s linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{-webkit-animation:danmaku 8s linear;animation:danmaku 8s linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.dplayer.dplayer-live .dplayer-bar-wrap,.dplayer.dplayer-live.dplayer-no-danmaku .dplayer-setting,.dplayer.dplayer-live .dplayer-setting-loop,.dplayer.dplayer-live .dplayer-setting-speed,.dplayer.dplayer-live .dplayer-time,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,.dplayer.dplayer-no-danmaku .dplayer-danmaku{display:none}.dplayer.dplayer-arrow .dplayer-danmaku{font-size:18px}.dplayer.dplayer-arrow .dplayer-icon{margin:0 -3px}.dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move{-webkit-animation-play-state:running;animation-play-state:running}@media (min-width:900px){.dplayer.dplayer-playing .dplayer-controller,.dplayer.dplayer-playing .dplayer-controller-mask{opacity:0}.dplayer.dplayer-playing:hover .dplayer-controller,.dplayer.dplayer-playing:hover .dplayer-controller-mask{opacity:1}}.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon{display:block}.dplayer.dplayer-loading .dplayer-danmaku,.dplayer.dplayer-loading .dplayer-danmaku-move,.dplayer.dplayer-paused .dplayer-danmaku,.dplayer.dplayer-paused .dplayer-danmaku-move{-webkit-animation-play-state:paused;animation-play-state:paused}.dplayer.dplayer-hide-controller{cursor:none}.dplayer.dplayer-hide-controller .dplayer-controller,.dplayer.dplayer-hide-controller .dplayer-controller-mask{opacity:0;-webkit-transform:translateY(100%);transform:translateY(100%)}.dplayer.dplayer-show-controller .dplayer-controller,.dplayer.dplayer-show-controller .dplayer-controller-mask{opacity:1}.dplayer.dplayer-fulled{position:fixed;z-index:100000;left:0;top:0;width:100%;height:100%}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-camera-icon,.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-volume{display:none}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon{position:static;display:inline-block}.dplayer.dplayer-mobile .dplayer-bar-time{display:none}.dplayer-web-fullscreen-fix{position:fixed;top:0;left:0;margin:0;padding:0}[data-balloon]:before{display:none}[data-balloon]:after{padding:.3em .7em;background:hsla(0,0%,7%,.7)}[data-balloon][data-balloon-pos=up]:after{margin-bottom:0}.dplayer-bezel{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff;pointer-events:none}.dplayer-bezel .dplayer-bezel-icon{position:absolute;top:50%;left:50%;margin:-26px 0 0 -26px;height:52px;width:52px;padding:12px;box-sizing:border-box;background:rgba(0,0,0,.5);border-radius:50%;opacity:0;pointer-events:none}.dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition{-webkit-animation:bezel-hide .5s linear;animation:bezel-hide .5s linear}@-webkit-keyframes bezel-hide{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}@keyframes bezel-hide{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}.dplayer-bezel .dplayer-danloading{position:absolute;top:50%;margin-top:-7px;width:100%;text-align:center;font-size:14px;line-height:14px;-webkit-animation:my-face 5s infinite ease-in-out;animation:my-face 5s infinite ease-in-out}.dplayer-bezel .diplayer-loading-icon{display:none;position:absolute;top:50%;left:50%;margin:-18px 0 0 -18px;height:36px;width:36px;pointer-events:none}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide{display:none}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot{-webkit-animation:diplayer-loading-dot-fade .8s ease infinite;animation:diplayer-loading-dot-fade .8s ease infinite;opacity:0;-webkit-transform-origin:4px 4px;transform-origin:4px 4px}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7{-webkit-animation-delay:.7s;animation-delay:.7s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6{-webkit-animation-delay:.6s;animation-delay:.6s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5{-webkit-animation-delay:.5s;animation-delay:.5s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4{-webkit-animation-delay:.4s;animation-delay:.4s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3{-webkit-animation-delay:.3s;animation-delay:.3s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2{-webkit-animation-delay:.2s;animation-delay:.2s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1{-webkit-animation-delay:.1s;animation-delay:.1s}@-webkit-keyframes diplayer-loading-dot-fade{0%{opacity:.7;-webkit-transform:scale(1.2);transform:scale(1.2)}50%{opacity:.25;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:.25;-webkit-transform:scale(.85);transform:scale(.85)}}@keyframes diplayer-loading-dot-fade{0%{opacity:.7;-webkit-transform:scale(1.2);transform:scale(1.2)}50%{opacity:.25;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:.25;-webkit-transform:scale(.85);transform:scale(.85)}}.dplayer-controller-mask{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;height:98px;width:100%}.dplayer-controller,.dplayer-controller-mask{position:absolute;bottom:0;transition:all .3s ease}.dplayer-controller{left:0;right:0;height:41px;padding:0 20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dplayer-controller.dplayer-controller-comment .dplayer-icons{display:none}.dplayer-controller.dplayer-controller-comment .dplayer-icons.dplayer-comment-box{display:block}.dplayer-controller .dplayer-bar-wrap{padding:5px 0;cursor:pointer;position:absolute;bottom:33px;width:calc(100% - 40px);height:3px}.dplayer-controller .dplayer-bar-wrap:hover .dplayer-bar .dplayer-played .dplayer-thumb{-webkit-transform:scale(1);transform:scale(1)}.dplayer-controller .dplayer-bar-wrap:hover .dplayer-highlight{display:block;width:8px;-webkit-transform:translateX(-4px);transform:translateX(-4px);top:4px;height:40%}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight{z-index:12;position:absolute;top:5px;width:6px;height:20%;border-radius:6px;background-color:#fff;text-align:center;-webkit-transform:translateX(-3px);transform:translateX(-3px);transition:all .2s ease-in-out}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover .dplayer-highlight-text{display:block}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover~.dplayer-bar-preview,.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover~.dplayer-bar-time{opacity:0}.dplayer-controller .dplayer-bar-wrap .dplayer-highlight .dplayer-highlight-text{display:none;position:absolute;left:50%;top:-24px;padding:5px 8px;background-color:rgba(0,0,0,.62);color:#fff;border-radius:4px;font-size:12px;white-space:nowrap;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview{position:absolute;background:#fff;pointer-events:none;display:none;background-size:16000px 100%}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas{position:absolute;width:100%;height:100%;z-index:1;pointer-events:none}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time{position:absolute;left:0;top:-20px;border-radius:4px;padding:5px 7px;background-color:rgba(0,0,0,.62);color:#fff;font-size:12px;text-align:center;opacity:1;transition:opacity .1s ease-in-out;word-wrap:normal;word-break:normal;z-index:2;pointer-events:none}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden{opacity:0}.dplayer-controller .dplayer-bar-wrap .dplayer-bar{position:relative;height:3px;width:100%;background:hsla(0,0%,100%,.2);cursor:pointer}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded{background:hsla(0,0%,100%,.4);transition:all .5s ease}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded,.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played{position:absolute;left:0;top:0;bottom:0;height:3px;will-change:width}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.dplayer-controller .dplayer-icons{height:38px;position:absolute;bottom:0}.dplayer-controller .dplayer-icons.dplayer-comment-box{display:none;position:absolute;transition:all .3s ease-in-out;z-index:2;height:38px;bottom:0;left:20px;right:20px;color:#fff}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-icon{padding:7px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-icon{position:absolute;left:0;top:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-send-icon{position:absolute;right:0;top:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box{position:absolute;background:rgba(28,28,28,.9);bottom:41px;left:0;box-shadow:0 0 25px rgba(0,0,0,.3);border-radius:4px;padding:10px 10px 16px;font-size:14px;width:204px;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open{-webkit-transform:scale(1);transform:scale(1)}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box input[type=radio]{display:none}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box label{cursor:pointer}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title{font-size:13px;color:#fff;line-height:30px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type{font-size:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type .dplayer-comment-setting-title{margin-bottom:6px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span{border-radius:4px 0 0 4px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span{border-radius:0 4px 4px 0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span{width:33%;padding:4px 6px;line-height:16px;display:inline-block;font-size:12px;color:#fff;border:1px solid #fff;margin-right:-1px;box-sizing:border-box;text-align:center;cursor:pointer}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked+span{background:#e4e4e6;color:#1c1c1c}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color{font-size:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label{font-size:0;padding:6px;display:inline-block}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span{width:22px;height:22px;display:inline-block;border-radius:50%;box-sizing:border-box;cursor:pointer}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover{-webkit-animation:my-face 5s infinite ease-in-out;animation:my-face 5s infinite ease-in-out}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input{outline:none;border:none;padding:8px 31px;font-size:14px;line-height:18px;text-align:center;border-radius:4px;background:none;margin:0;height:100%;box-sizing:border-box;width:100%;color:#fff}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-webkit-input-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input:-ms-input-placeholder,.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-input-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-clear{display:none}.dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon{padding:7px}.dplayer-controller .dplayer-icons.dplayer-icons-right{right:20px}.dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon{padding:8px}.dplayer-controller .dplayer-icons .dplayer-live-badge,.dplayer-controller .dplayer-icons .dplayer-time{line-height:38px;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);vertical-align:middle;font-size:13px;cursor:default}.dplayer-controller .dplayer-icons .dplayer-live-dot{display:inline-block;width:6px;height:6px;vertical-align:4%;margin-right:5px;content:"";border-radius:6px}.dplayer-controller .dplayer-icons .dplayer-icon{width:40px;height:100%;border:none;background-color:transparent;outline:none;cursor:pointer;vertical-align:middle;box-sizing:border-box;display:inline-block}.dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content{transition:all .2s ease-in-out;opacity:.8}.dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content{opacity:1}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon{color:#fff;width:auto;line-height:22px;font-size:14px}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon{padding:10px 9px 9px}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon{padding-top:8.5px}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon{width:43px}.dplayer-controller .dplayer-icons .dplayer-volume{position:relative;display:inline-block;cursor:pointer;height:100%}.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar{width:45px}.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{-webkit-transform:scale(1);transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar{width:45px}.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{-webkit-transform:scale(1);transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap{display:inline-block;margin:0 10px 0 -5px;vertical-align:middle;height:100%}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar{position:relative;top:17px;width:0;height:3px;background:#aaa;transition:all .3s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner{position:absolute;bottom:0;left:0;height:100%;transition:all .1s ease;will-change:width}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.dplayer-controller .dplayer-icons .dplayer-setting,.dplayer-controller .dplayer-icons .dplayer-subtitle-btn{display:inline-block;height:100%}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box{position:absolute;right:0;bottom:50px;-webkit-transform:scale(0);transform:scale(0);width:150px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 0;transition:all .3s ease-in-out;overflow:hidden;z-index:2}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box>div{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box>div.dplayer-setting-origin-panel{display:block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open{-webkit-transform:scale(1);transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow{width:70px;height:180px;text-align:center}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-origin-panel{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-speed-panel{display:block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item{height:30px;padding:5px 10px;box-sizing:border-box;cursor:pointer;position:relative}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku{padding:5px 0}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label{padding:0 10px;display:inline}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap{padding:0 10px;box-sizing:border-box;display:none;vertical-align:middle;height:100%;width:100%}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar{position:relative;top:8.5px;width:100%;height:3px;background:#fff;transition:all .3s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner{position:absolute;bottom:0;left:0;height:100%;transition:all .1s ease;background:#aaa;will-change:width}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;background:#aaa}.dplayer-controller .dplayer-icons .dplayer-full{display:inline-block;height:100%;position:relative}.dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon{display:block}.dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon{position:absolute;top:-30px;z-index:1;display:none}.dplayer-controller .dplayer-icons .dplayer-quality{position:relative;display:inline-block;height:100%;z-index:2}.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list,.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask{display:block}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask{display:none;position:absolute;bottom:38px;left:-18px;width:80px;padding-bottom:12px}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list{display:none;font-size:12px;width:80px;border-radius:2px;background:rgba(28,28,28,.9);padding:5px 0;transition:all .3s ease-in-out;overflow:hidden;color:#fff;text-align:center}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item{height:25px;box-sizing:border-box;cursor:pointer;line-height:25px}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer-controller .dplayer-icons .dplayer-comment{display:inline-block;height:100%}.dplayer-controller .dplayer-icons .dplayer-label{color:#eee;font-size:13px;display:inline-block;vertical-align:middle;white-space:nowrap}.dplayer-controller .dplayer-icons .dplayer-toggle{width:32px;height:20px;text-align:center;font-size:0;vertical-align:middle;position:absolute;top:5px;right:10px}.dplayer-controller .dplayer-icons .dplayer-toggle input{max-height:0;max-width:0;display:none}.dplayer-controller .dplayer-icons .dplayer-toggle input+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 0 #dfdfdf;border:1px solid #dfdfdf;height:20px;width:32px;border-radius:10px;box-sizing:border-box;cursor:pointer;transition:.2s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-toggle input+label:after,.dplayer-controller .dplayer-icons .dplayer-toggle input+label:before{content:"";position:absolute;display:block;height:18px;width:18px;top:0;left:0;border-radius:15px;transition:.2s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-toggle input+label:after{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label{border-color:hsla(0,0%,100%,.5)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:before{width:30px;background:hsla(0,0%,100%,.5)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:after{left:12px}.dplayer-danmaku{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff}.dplayer-danmaku .dplayer-danmaku-item{display:inline-block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;white-space:nowrap;text-shadow:.5px .5px .5px rgba(0,0,0,.5)}.dplayer-danmaku .dplayer-danmaku-item--demo{position:absolute;visibility:hidden}.dplayer-danmaku .dplayer-danmaku-right{position:absolute;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{will-change:transform;-webkit-animation:danmaku 5s linear;animation:danmaku 5s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes danmaku{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}}.dplayer-danmaku .dplayer-danmaku-bottom,.dplayer-danmaku .dplayer-danmaku-top{position:absolute;width:100%;text-align:center;visibility:hidden}.dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{will-change:visibility;-webkit-animation:danmaku-center 4s linear;animation:danmaku-center 4s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}@keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}.dplayer-logo{pointer-events:none;position:absolute;left:20px;top:20px;max-width:50px;max-height:50px}.dplayer-logo img{max-width:100%;max-height:100%;background:none}.dplayer-menu{position:absolute;width:170px;border-radius:2px;background:rgba(28,28,28,.85);padding:5px 0;overflow:hidden;z-index:3;display:none}.dplayer-menu.dplayer-menu-show{display:block}.dplayer-menu .dplayer-menu-item{height:30px;box-sizing:border-box;cursor:pointer}.dplayer-menu .dplayer-menu-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer-menu .dplayer-menu-item a{padding:0 10px;line-height:30px;color:#eee;font-size:13px;display:inline-block;vertical-align:middle;width:100%;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dplayer-menu .dplayer-menu-item a:hover{text-decoration:none}.dplayer-notice{opacity:0;position:absolute;bottom:60px;left:20px;font-size:14px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 20px;transition:all .3s ease-in-out;overflow:hidden;color:#fff;pointer-events:none}.dplayer-subtitle{position:absolute;bottom:40px;width:90%;left:5%;text-align:center;color:#fff;text-shadow:.5px .5px .5px rgba(0,0,0,.5);font-size:20px}.dplayer-subtitle.dplayer-subtitle-hide{display:none}.dplayer-mask{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.dplayer-mask.dplayer-mask-show{display:block}.dplayer-video-wrap{position:relative;background:#000;font-size:0;width:100%;height:100%}.dplayer-video-wrap .dplayer-video{width:100%;height:100%;display:none}.dplayer-video-wrap .dplayer-video-current{display:block}.dplayer-video-wrap .dplayer-video-prepare{display:none}.dplayer-info-panel{position:absolute;top:10px;left:10px;width:400px;background:rgba(28,28,28,.8);padding:10px;color:#fff;font-size:12px;border-radius:2px}.dplayer-info-panel-hide{display:none}.dplayer-info-panel .dplayer-info-panel-close{cursor:pointer;position:absolute;right:10px;top:10px}.dplayer-info-panel .dplayer-info-panel-item>span{display:inline-block;vertical-align:middle;line-height:15px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dplayer-info-panel .dplayer-info-panel-item-title{width:100px;text-align:right;margin-right:10px}.dplayer-info-panel .dplayer-info-panel-item-data{width:260px} + +/*# sourceMappingURL=DPlayer.min.css.map*/ diff --git a/dplayer/dist/DPlayer.min.js b/dplayer/dist/DPlayer.min.js new file mode 100644 index 0000000..d0bae45 --- /dev/null +++ b/dplayer/dist/DPlayer.min.js @@ -0,0 +1,2 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DPlayer",[],t):"object"==typeof exports?exports.DPlayer=t():e.DPlayer=t()}(window,function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(i,a,function(t){return e[t]}.bind(null,a));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=78)}([function(e,t,n){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=n(11),o=n(65),r=Object.prototype.toString;function s(e){return"[object Array]"===r.call(e)}function l(e){return null!==e&&"object"===(void 0===e?"undefined":i(e))}function c(e){return"[object Function]"===r.call(e)}function u(e,t){if(null!==e&&void 0!==e)if("object"!==(void 0===e?"undefined":i(e))&&(e=[e]),s(e))for(var n=0,a=e.length;n0?[t,n,i]:[n,i]).map(function(e){return e<10?"0"+e:""+e}).join(":")},getElementViewLeft:function(e){var t=e.offsetLeft,n=e.offsetParent,i=document.body.scrollLeft+document.documentElement.scrollLeft;if(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)for(;null!==n&&n!==e;)t+=n.offsetLeft,n=n.offsetParent;else for(;null!==n;)t+=n.offsetLeft,n=n.offsetParent;return t-i},getBoundingClientRectViewLeft:function(e){var t=document.documentElement.scrollTop;if(e.getBoundingClientRect){if("number"!=typeof this.getBoundingClientRectViewLeft.offset){var n=document.createElement("div");n.style.cssText="position:absolute;top:0;left:0;",document.body.appendChild(n),this.getBoundingClientRectViewLeft.offset=-n.getBoundingClientRect().top-t,document.body.removeChild(n),n=null}var i=e.getBoundingClientRect(),a=this.getBoundingClientRectViewLeft.offset;return i.left+a}return this.getElementViewLeft(e)},getScrollPosition:function(){return{left:window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}},setScrollPosition:function(e){var t=e.left,n=void 0===t?0:t,i=e.top,a=void 0===i?0:i;this.isFirefox?(document.documentElement.scrollLeft=n,document.documentElement.scrollTop=a):window.scrollTo(n,a)},isMobile:i,isFirefox:/firefox/i.test(window.navigator.userAgent),isChrome:/chrome/i.test(window.navigator.userAgent),storage:{set:function(e,t){localStorage.setItem(e,t)},get:function(e){return localStorage.getItem(e)}},cumulativeOffset:function(e){var t=0,n=0;do{t+=e.offsetTop||0,n+=e.offsetLeft||0,e=e.offsetParent}while(e);return{top:t,left:n}},nameMap:{dragStart:i?"touchstart":"mousedown",dragMove:i?"touchmove":"mousemove",dragEnd:i?"touchend":"mouseup"},color2Number:function(e){return"#"===e[0]&&(e=e.substr(1)),3===e.length&&(e=""+e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),parseInt(e,16)+0&16777215},number2Color:function(e){return"#"+("00000"+e.toString(16)).slice(-6)},number2Type:function(e){switch(e){case 0:return"right";case 1:return"top";case 2:return"bottom";default:return"right"}}};t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=b(n(46)),a=b(n(45)),o=b(n(44)),r=b(n(43)),s=b(n(42)),l=b(n(41)),c=b(n(40)),u=b(n(39)),d=b(n(38)),p=b(n(37)),h=b(n(36)),f=b(n(35)),y=b(n(34)),m=b(n(33)),v=b(n(32)),g=b(n(31));function b(e){return e&&e.__esModule?e:{default:e}}var w={play:i.default,pause:a.default,volumeUp:o.default,volumeDown:r.default,volumeOff:s.default,full:l.default,fullWeb:c.default,setting:u.default,right:d.default,comment:p.default,commentOff:h.default,send:f.default,pallette:y.default,camera:m.default,subtitle:v.default,loading:g.default};t.default=w},function(e,t,n){"use strict";(function(t){var i=n(0),a=n(63),o={"Content-Type":"application/x-www-form-urlencoded"};function r(e,t){!i.isUndefined(e)&&i.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var s,l={adapter:("undefined"!=typeof XMLHttpRequest?s=n(10):void 0!==t&&(s=n(10)),s),transformRequest:[function(e,t){return a(t,"Content-Type"),i.isFormData(e)||i.isArrayBuffer(e)||i.isBuffer(e)||i.isStream(e)||i.isFile(e)||i.isBlob(e)?e:i.isArrayBufferView(e)?e.buffer:i.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):i.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){l.headers[e]={}}),i.forEach(["post","put","patch"],function(e){l.headers[e]=i.merge(o)}),e.exports=l}).call(this,n(12))},function(e,t,n){"use strict";var i,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(e){"object"===("undefined"==typeof window?"undefined":a(window))&&(i=window)}e.exports=i},function(e,t,n){var i=n(6);e.exports=function(e){"use strict";var t="",n=(e=e||{}).enableSubtitle,a=e.subtitle,o=e.current,r=e.pic,s=i.$escape,l=e.screenshot,c=e.preload,u=e.url;n=a&&"webvtt"===a.type;return t+='\n\n ",n&&(t+='\n \n '),t+="\n"}},function(e,t,n){"use strict";e.exports=n(29)},function(e,t,n){"use strict";function i(e){this.message=e}i.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},i.prototype.__CANCEL__=!0,e.exports=i},function(e,t,n){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t,n){"use strict";var i=n(61);e.exports=function(e,t,n,a,o){var r=new Error(e);return i(r,t,n,a,o)}},function(e,t,n){"use strict";var i=n(0),a=n(62),o=n(60),r=n(59),s=n(58),l=n(9),c="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(57);e.exports=function(e){return new Promise(function(t,u){var d=e.data,p=e.headers;i.isFormData(d)&&delete p["Content-Type"];var h=new XMLHttpRequest,f="onreadystatechange",y=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in h||s(e.url)||(h=new window.XDomainRequest,f="onload",y=!0,h.onprogress=function(){},h.ontimeout=function(){}),e.auth){var m=e.auth.username||"",v=e.auth.password||"";p.Authorization="Basic "+c(m+":"+v)}if(h.open(e.method.toUpperCase(),o(e.url,e.params,e.paramsSerializer),!0),h.timeout=e.timeout,h[f]=function(){if(h&&(4===h.readyState||y)&&(0!==h.status||h.responseURL&&0===h.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in h?r(h.getAllResponseHeaders()):null,i={data:e.responseType&&"text"!==e.responseType?h.response:h.responseText,status:1223===h.status?204:h.status,statusText:1223===h.status?"No Content":h.statusText,headers:n,config:e,request:h};a(t,u,i),h=null}},h.onerror=function(){u(l("Network Error",e,null,h)),h=null},h.ontimeout=function(){u(l("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",h)),h=null},i.isStandardBrowserEnv()){var g=n(56),b=(e.withCredentials||s(e.url))&&e.xsrfCookieName?g.read(e.xsrfCookieName):void 0;b&&(p[e.xsrfHeaderName]=b)}if("setRequestHeader"in h&&i.forEach(p,function(e,t){void 0===d&&"content-type"===t.toLowerCase()?delete p[t]:h.setRequestHeader(t,e)}),e.withCredentials&&(h.withCredentials=!0),e.responseType)try{h.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&h.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&h.upload&&h.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){h&&(h.abort(),u(e),h=null)}),void 0===d&&(d=null),h.send(d)})}},function(e,t,n){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),i=0;i1)for(var n=1;n=n.width?(this.player.template.menu.style.right=n.width-e+"px",this.player.template.menu.style.left="initial"):(this.player.template.menu.style.left=e+"px",this.player.template.menu.style.right="initial"),t+this.player.template.menu.offsetHeight>=n.height?(this.player.template.menu.style.bottom=n.height-t+"px",this.player.template.menu.style.top="initial"):(this.player.template.menu.style.top=t+"px",this.player.template.menu.style.bottom="initial"),this.player.template.mask.classList.add("dplayer-mask-show"),this.shown=!0,this.player.events.trigger("contextmenu_show")}},{key:"hide",value:function(){this.player.template.mask.classList.remove("dplayer-mask-show"),this.player.template.menu.classList.remove("dplayer-menu-show"),this.shown=!1,this.player.events.trigger("contextmenu_hide")}}]),e}();t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t.options.hotkey&&document.addEventListener("keydown",function(e){if(t.focus){var n=document.activeElement.tagName.toUpperCase(),i=document.activeElement.getAttribute("contenteditable");if("INPUT"!==n&&"TEXTAREA"!==n&&""!==i&&"true"!==i){var a=e||window.event,o=void 0;switch(a.keyCode){case 32:a.preventDefault(),t.toggle();break;case 37:a.preventDefault(),t.seek(t.video.currentTime-5),t.controller.setAutoHide();break;case 39:a.preventDefault(),t.seek(t.video.currentTime+5),t.controller.setAutoHide();break;case 38:a.preventDefault(),o=t.volume()+.1,t.volume(o);break;case 40:a.preventDefault(),o=t.volume()-.1,t.volume(o)}}}}),document.addEventListener("keydown",function(e){switch((e||window.event).keyCode){case 27:t.fullScreen.isFullScreen("web")&&t.fullScreen.cancel("web")}})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,a=function(){function e(e,t){for(var n=0;n'+e.player.options.highlight[n].text+"",e.player.template.playedBarWrap.insertBefore(i,e.player.template.playedBarTime)}}})}},{key:"initThumbnails",value:function(){var e=this;this.player.options.video.thumbnails&&(this.thumbnails=new o.default({container:this.player.template.barPreview,barWidth:this.player.template.barWrap.offsetWidth,url:this.player.options.video.thumbnails,events:this.player.events}),this.player.on("loadedmetadata",function(){e.thumbnails.resize(160,e.player.video.videoHeight/e.player.video.videoWidth*160)}))}},{key:"initPlayedBar",value:function(){var e=this,t=function(t){var n=((t.clientX||t.changedTouches[0].clientX)-a.default.getBoundingClientRectViewLeft(e.player.template.playedBarWrap))/e.player.template.playedBarWrap.clientWidth;n=Math.max(n,0),n=Math.min(n,1),e.player.bar.set("played",n,"width"),e.player.template.ptime.innerHTML=a.default.secondToTime(n*e.player.video.duration)},n=function n(i){document.removeEventListener(a.default.nameMap.dragEnd,n),document.removeEventListener(a.default.nameMap.dragMove,t);var o=((i.clientX||i.changedTouches[0].clientX)-a.default.getBoundingClientRectViewLeft(e.player.template.playedBarWrap))/e.player.template.playedBarWrap.clientWidth;o=Math.max(o,0),o=Math.min(o,1),e.player.bar.set("played",o,"width"),e.player.seek(e.player.bar.get("played")*e.player.video.duration),e.player.timer.enable("progress")};this.player.template.playedBarWrap.addEventListener(a.default.nameMap.dragStart,function(){e.player.timer.disable("progress"),document.addEventListener(a.default.nameMap.dragMove,t),document.addEventListener(a.default.nameMap.dragEnd,n)}),this.player.template.playedBarWrap.addEventListener(a.default.nameMap.dragMove,function(t){if(e.player.video.duration){var n=a.default.cumulativeOffset(e.player.template.playedBarWrap).left,i=(t.clientX||t.changedTouches[0].clientX)-n;if(i<0||i>e.player.template.playedBarWrap.offsetWidth)return;var o=e.player.video.duration*(i/e.player.template.playedBarWrap.offsetWidth);a.default.isMobile&&e.thumbnails&&e.thumbnails.show(),e.thumbnails&&e.thumbnails.move(i),e.player.template.playedBarTime.style.left=i-(o>=3600?25:20)+"px",e.player.template.playedBarTime.innerText=a.default.secondToTime(o),e.player.template.playedBarTime.classList.remove("hidden")}}),this.player.template.playedBarWrap.addEventListener(a.default.nameMap.dragEnd,function(){a.default.isMobile&&e.thumbnails&&e.thumbnails.hide()}),a.default.isMobile||(this.player.template.playedBarWrap.addEventListener("mouseenter",function(){e.player.video.duration&&(e.thumbnails&&e.thumbnails.show(),e.player.template.playedBarTime.classList.remove("hidden"))}),this.player.template.playedBarWrap.addEventListener("mouseleave",function(){e.player.video.duration&&(e.thumbnails&&e.thumbnails.hide(),e.player.template.playedBarTime.classList.add("hidden"))}))}},{key:"initFullButton",value:function(){var e=this;this.player.template.browserFullButton.addEventListener("click",function(){e.player.fullScreen.toggle("browser")}),this.player.template.webFullButton.addEventListener("click",function(){e.player.fullScreen.toggle("web")})}},{key:"initVolumeButton",value:function(){var e=this,t=function(t){var n=t||window.event,i=((n.clientX||n.changedTouches[0].clientX)-a.default.getBoundingClientRectViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i)},n=function n(){document.removeEventListener(a.default.nameMap.dragEnd,n),document.removeEventListener(a.default.nameMap.dragMove,t),e.player.template.volumeButton.classList.remove("dplayer-volume-active")};this.player.template.volumeBarWrapWrap.addEventListener("click",function(t){var n=t||window.event,i=((n.clientX||n.changedTouches[0].clientX)-a.default.getBoundingClientRectViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i)}),this.player.template.volumeBarWrapWrap.addEventListener(a.default.nameMap.dragStart,function(){document.addEventListener(a.default.nameMap.dragMove,t),document.addEventListener(a.default.nameMap.dragEnd,n),e.player.template.volumeButton.classList.add("dplayer-volume-active")}),this.player.template.volumeButtonIcon.addEventListener("click",function(){e.player.video.muted?(e.player.video.muted=!1,e.player.switchVolumeIcon(),e.player.bar.set("volume",e.player.volume(),"width")):(e.player.video.muted=!0,e.player.template.volumeIcon.innerHTML=r.default.volumeOff,e.player.bar.set("volume",0,"width"))})}},{key:"initQualityButton",value:function(){var e=this;this.player.options.video.quality&&this.player.template.qualityList.addEventListener("click",function(t){t.target.classList.contains("dplayer-quality-item")&&e.player.switchQuality(t.target.dataset.index)})}},{key:"initScreenshotButton",value:function(){var e=this;this.player.options.screenshot&&this.player.template.camareButton.addEventListener("click",function(){var t=document.createElement("canvas");t.width=e.player.video.videoWidth,t.height=e.player.video.videoHeight,t.getContext("2d").drawImage(e.player.video,0,0,t.width,t.height);var n=void 0;t.toBlob(function(e){n=URL.createObjectURL(e);var t=document.createElement("a");t.href=n,t.download="DPlayer.png",t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(n)}),e.player.events.trigger("screenshot",n)})}},{key:"initSubtitleButton",value:function(){var e=this;this.player.options.subtitle&&(this.player.events.on("subtitle_show",function(){e.player.template.subtitleButton.dataset.balloon=e.player.tran("Hide subtitle"),e.player.template.subtitleButtonInner.style.opacity="",e.player.user.set("subtitle",1)}),this.player.events.on("subtitle_hide",function(){e.player.template.subtitleButton.dataset.balloon=e.player.tran("Show subtitle"),e.player.template.subtitleButtonInner.style.opacity="0.4",e.player.user.set("subtitle",0)}),this.player.template.subtitleButton.addEventListener("click",function(){e.player.subtitle.toggle()}))}},{key:"setAutoHide",value:function(){var e=this;this.show(),clearTimeout(this.autoHideTimer),this.autoHideTimer=setTimeout(function(){!e.player.video.played.length||e.player.paused||e.disableAutoHide||e.hide()},3e3)}},{key:"show",value:function(){this.player.container.classList.remove("dplayer-hide-controller")}},{key:"hide",value:function(){this.player.container.classList.add("dplayer-hide-controller"),this.player.setting.hide(),this.player.comment&&this.player.comment.hide()}},{key:"isShow",value:function(){return!this.player.container.classList.contains("dplayer-hide-controller")}},{key:"toggle",value:function(){this.isShow()?this.hide():this.show()}},{key:"destroy",value:function(){clearTimeout(this.autoHideTimer)}}]),e}();t.default=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;nt&&!e.player.video.paused&&(e.player.container.classList.remove("dplayer-loading"),i=!1),t=n)},100)}},{key:"initfpsChecker",value:function(){var e=this;window.requestAnimationFrame(function(){if(e.enablefpsChecker)if(e.initfpsChecker(),e.fpsStart){e.fpsIndex++;var t=new Date;t-e.fpsStart>1e3&&(e.player.infoPanel.fps(e.fpsIndex/(t-e.fpsStart)*1e3),e.fpsStart=new Date,e.fpsIndex=0)}else e.fpsStart=new Date,e.fpsIndex=0;else e.fpsStart=0,e.fpsIndex=0})}},{key:"initinfoChecker",value:function(){var e=this;this.infoChecker=setInterval(function(){e.enableinfoChecker&&e.player.infoPanel.update()},1e3)}},{key:"enable",value:function(e){this["enable"+e+"Checker"]=!0,"fps"===e&&this.initfpsChecker()}},{key:"disable",value:function(e){this["enable"+e+"Checker"]=!1}},{key:"destroy",value:function(){var e=this;this.types.map(function(t){return e["enable"+t+"Checker"]=!1,e[t+"Checker"]&&clearInterval(e[t+"Checker"]),t})}}]),e}();t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;case"web":return this.player.container.classList.contains("dplayer-fulled")}}},{key:"request",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser",t="browser"===e?"web":"browser",n=this.isFullScreen(t);switch(n||(this.lastScrollPosition=r.default.getScrollPosition()),e){case"browser":this.player.container.requestFullscreen?this.player.container.requestFullscreen():this.player.container.mozRequestFullScreen?this.player.container.mozRequestFullScreen():this.player.container.webkitRequestFullscreen?this.player.container.webkitRequestFullscreen():this.player.video.webkitEnterFullscreen?this.player.video.webkitEnterFullscreen():this.player.video.webkitEnterFullScreen?this.player.video.webkitEnterFullScreen():this.player.container.msRequestFullscreen&&this.player.container.msRequestFullscreen();break;case"web":this.player.container.classList.add("dplayer-fulled"),document.body.classList.add("dplayer-web-fullscreen-fix"),this.player.events.trigger("webfullscreen")}n&&this.cancel(t)}},{key:"cancel",value:function(){switch(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.webkitCancelFullscreen?document.webkitCancelFullscreen():document.msCancelFullScreen?document.msCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen();break;case"web":this.player.container.classList.remove("dplayer-fulled"),document.body.classList.remove("dplayer-web-fullscreen-fix"),this.player.events.trigger("webfullscreen_cancel")}}},{key:"toggle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser";this.isFullScreen(e)?this.cancel(e):this.request(e)}}]),e}();t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;nparseFloat(t.time);)n.push(t),t=this.dan[++this.danIndex];this.draw(n)}window.requestAnimationFrame(function(){e.frame()})}},{key:"opacity",value:function(e){if(void 0!==e){for(var t=this.container.getElementsByClassName("dplayer-danmaku-item"),n=0;n'+e[a].text+"":o.innerHTML=e[a].text,o.style.opacity=t._opacity,o.style.color=s.default.number2Color(e[a].color),o.addEventListener("animationend",function(){t.container.removeChild(o)});var r=t._measure(e[a].text),l=void 0;switch(e[a].type){case"right":(l=u(o,e[a].type,r))>=0&&(o.style.width=r+1+"px",o.style.top=n*l+"px",o.style.transform="translateX(-"+i+"px)");break;case"top":(l=u(o,e[a].type))>=0&&(o.style.top=n*l+"px");break;case"bottom":(l=u(o,e[a].type))>=0&&(o.style.bottom=n*l+"px");break;default:console.error("Can't handled danmaku type: "+e[a].type)}l>=0&&(o.classList.add("dplayer-danmaku-move"),d.appendChild(o))},h=0;h=this.options.time()){this.danIndex=e;break}this.danIndex=this.dan.length}}},{key:"clear",value:function(){this.danTunnel={right:{},top:{},bottom:{}},this.danIndex=0,this.options.container.innerHTML="",this.events&&this.events.trigger("danmaku_clear")}},{key:"htmlEncode",value:function(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}},{key:"resize",value:function(){for(var e=this.container.offsetWidth,t=this.container.getElementsByClassName("dplayer-danmaku-item"),n=0;n]/;a.$escape=function(e){return function(e){var t=""+e,n=o.exec(t);if(!n)return e;var i="",a=void 0,r=void 0,s=void 0;for(a=n.index,r=0;a\n \n '),a+='\n
\n
\n
\n
\n
\n \n ',r.danmaku&&(a+='\n ',a+=s(l("Danmaku is loading")),a+="\n "),a+='\n ',a+=c.loading,a+='\n
\n\n
\n
\n
\n \n
\n
\n
',a+=s(l("Set danmaku color")),a+='
\n \n \n \n \n \n \n
\n
\n
',a+=s(l("Set danmaku type")),a+='
\n \n \n \n
\n
\n \n ',a+=c.send,a+='\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n
\n
\n \n 0:00 /\n 0:00\n \n ',r.live&&(a+='\n ',a+=s(l("Live")),a+="\n "),a+='\n
\n
\n ',r.video.quality&&(a+='\n
\n \n
\n
\n ',d(r.video.quality,function(e,t){a+='\n
',a+=s(e.name),a+="
\n "}),a+="\n
\n
\n
\n "),a+="\n ",r.screenshot&&(a+='\n
\n
\n "),a+='\n
\n \n
\n ",r.subtitle&&(a+='\n
\n \n
\n "),a+='\n
\n \n
\n
\n
\n ',a+=s(l("Speed")),a+='\n
',a+=c.right,a+='
\n
\n
\n ',a+=s(l("Loop")),a+='\n
\n \n \n
\n
\n
\n ',a+=s(l("Show danmaku")),a+='\n
\n \n \n
\n
\n
\n ',a+=s(l("Unlimited danmaku")),a+='\n
\n \n \n
\n
\n
\n ',a+=s(l("Opacity for danmaku")),a+='\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n 0.5\n
\n
\n 0.75\n
\n
\n ',a+=s(l("Normal")),a+='\n
\n
\n 1.25\n
\n
\n 1.5\n
\n
\n 2\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
[x]
\n
\n Player version\n \n
\n
\n Player FPS\n \n
\n
\n Video type\n \n
\n
\n Video url\n \n
\n
\n Video resolution\n \n
\n
\n Video duration\n \n
\n ',r.danmaku&&(a+='\n
\n Danamku id\n \n
\n
\n Danamku api\n \n
\n
\n Danamku amount\n \n
\n '),a+='\n
\n
\n ',d(r.contextmenu,function(e,t){a+='\n
\n ',a+=s(l(e.text)),a+="\n
\n "}),a+='\n
\n
'}},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t){e.exports=''},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n>8-s%1*8)){if((n=o.charCodeAt(s+=.75))>255)throw new a;t=t<<8|n}return r}},function(e,t,n){"use strict";var i=n(0);e.exports=i.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function a(e){var i=e;return t&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=a(window.location.href),function(t){var n=i.isString(t)?a(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},function(e,t,n){"use strict";var i=n(0),a=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,o,r={};return e?(i.forEach(e.split("\n"),function(e){if(o=e.indexOf(":"),t=i.trim(e.substr(0,o)).toLowerCase(),n=i.trim(e.substr(o+1)),t){if(r[t]&&a.indexOf(t)>=0)return;r[t]="set-cookie"===t?(r[t]?r[t]:[]).concat([n]):r[t]?r[t]+", "+n:n}}),r):r}},function(e,t,n){"use strict";var i=n(0);function a(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,n){if(!t)return e;var o;if(n)o=n(t);else if(i.isURLSearchParams(t))o=t.toString();else{var r=[];i.forEach(t,function(e,t){null!==e&&void 0!==e&&(i.isArray(e)?t+="[]":e=[e],i.forEach(e,function(e){i.isDate(e)?e=e.toISOString():i.isObject(e)&&(e=JSON.stringify(e)),r.push(a(t)+"="+a(e))}))}),o=r.join("&")}return o&&(e+=(-1===e.indexOf("?")?"?":"&")+o),e}},function(e,t,n){"use strict";e.exports=function(e,t,n,i,a){return e.config=t,n&&(e.code=n),e.request=i,e.response=a,e}},function(e,t,n){"use strict";var i=n(9);e.exports=function(e,t,n){var a=n.config.validateStatus;n.status&&a&&!a(n.status)?t(i("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";var i=n(0);e.exports=function(e,t){i.forEach(e,function(n,i){i!==t&&i.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[i])})}},function(e,t,n){"use strict";var i=n(3),a=n(0),o=n(55),r=n(54);function s(e){this.defaults=e,this.interceptors={request:new o,response:new o}}s.prototype.request=function(e){"string"==typeof e&&(e=a.merge({url:arguments[0]},arguments[1])),(e=a.merge(i,{method:"get"},this.defaults,e)).method=e.method.toLowerCase();var t=[r,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},a.forEach(["delete","get","head","options"],function(e){s.prototype[e]=function(t,n){return this.request(a.merge(n||{},{method:e,url:t}))}}),a.forEach(["post","put","patch"],function(e){s.prototype[e]=function(t,n,i){return this.request(a.merge(i||{},{method:e,url:t,data:n}))}}),e.exports=s},function(e,t,n){"use strict";function i(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(i(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&i(e.slice(0,0))}(e)||!!e._isBuffer)}},function(e,t,n){"use strict";var i=n(0),a=n(11),o=n(64),r=n(3);function s(e){var t=new o(e),n=a(o.prototype.request,t);return i.extend(n,o.prototype,t),i.extend(n,t),n}var l=s(r);l.Axios=o,l.create=function(e){return s(i.merge(r,e))},l.Cancel=n(7),l.CancelToken=n(50),l.isCancel=n(8),l.all=function(e){return Promise.all(e)},l.spread=n(49),e.exports=l,e.exports.default=l},function(e,t,n){"use strict";e.exports=n(66)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,a=n(67),o=(i=a)&&i.__esModule?i:{default:i};t.default={send:function(e){o.default.post(e.url,e.data).then(function(t){var n=t.data;n&&0===n.code?e.success&&e.success(n):e.error&&e.error(n&&n.msg)}).catch(function(t){console.error(t),e.error&&e.error()})},read:function(e){o.default.get(e.url).then(function(t){var n=t.data;n&&0===n.code?e.success&&e.success(n.data.map(function(e){return{time:e[0],type:e[1],color:e[2],author:e[3],text:e[4]}})):e.error&&e.error(n&&n.msg)}).catch(function(t){console.error(t),e.error&&e.error()})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=n(68),r=(i=o)&&i.__esModule?i:{default:i};t.default=function(e){var t={container:e.element||document.getElementsByClassName("dplayer")[0],live:!1,autoplay:!1,theme:"#b7daff",loop:!1,lang:(navigator.language||navigator.browserLanguage).toLowerCase(),screenshot:!1,hotkey:!0,preload:"metadata",volume:.7,apiBackend:r.default,video:{},contextmenu:[],mutex:!0};for(var n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n]);return e.video&&!e.video.type&&(e.video.type="auto"),"object"===a(e.danmaku)&&e.danmaku&&!e.danmaku.user&&(e.danmaku.user="DIYgod"),e.subtitle&&(!e.subtitle.type&&(e.subtitle.type="webvtt"),!e.subtitle.fontSize&&(e.subtitle.fontSize="20px"),!e.subtitle.bottom&&(e.subtitle.bottom="40px"),!e.subtitle.color&&(e.subtitle.color="#fff")),e.video.quality&&(e.video.url=e.video.quality[e.video.defaultQuality].url),e.lang&&(e.lang=e.lang.toLowerCase()),e.contextmenu=e.contextmenu.concat([{text:"Video info",click:function(e){e.infoPanel.triggle()}},{text:"About author",link:"https://diygod.me"},{text:"DPlayer v1.25.0",link:"https://github.com/MoePlayer/DPlayer"}]),e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){return t.reject(n)})})}},function(e,t,n){"use strict";(function(e,t){!function(e,n){if(!e.setImmediate){var i,a,o,r,s,l=1,c={},u=!1,d=e.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(e);p=p&&p.setTimeout?p:e,"[object process]"==={}.toString.call(e.process)?i=function(e){t.nextTick(function(){f(e)})}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){f(e.data)},i=function(e){o.port2.postMessage(e)}):d&&"onreadystatechange"in d.createElement("script")?(a=d.documentElement,i=function(e){var t=d.createElement("script");t.onreadystatechange=function(){f(e),t.onreadystatechange=null,a.removeChild(t),t=null},a.appendChild(t)}):i=function(e){setTimeout(f,0,e)}:(r="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(r)&&f(+t.data.slice(r.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),i=function(t){e.postMessage(r+t,"*")}),p.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(71),t.setImmediate=setImmediate,t.clearImmediate=clearImmediate},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var i,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=n(70),r=(i=o)&&i.__esModule?i:{default:i};var s=setTimeout;function l(){}function c(e){if(!(this instanceof c))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],f(e,this)}function u(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,c._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var i;try{i=n(e._value)}catch(e){return void p(t.promise,e)}d(t.promise,i)}else(1===e._state?d:p)(t.promise,e._value)})):e._deferreds.push(t)}function d(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"===(void 0===t?"undefined":a(t))||"function"==typeof t)){var n=t.then;if(t instanceof c)return e._state=3,e._value=t,void h(e);if("function"==typeof n)return void f((i=n,o=t,function(){i.apply(o,arguments)}),e)}e._state=1,e._value=t,h(e)}catch(t){p(e,t)}var i,o}function p(e,t){e._state=2,e._value=t,h(e)}function h(e){2===e._state&&0===e._deferreds.length&&c._immediateFn(function(){e._handled||c._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;te&&this.notice(this.tran("REW")+" "+(this.video.currentTime-e).toFixed(0)+" "+this.tran("s")),this.video.currentTime=e,this.danmaku&&this.danmaku.seek(),this.bar.set("played",e/this.video.duration,"width"),this.template.ptime.innerHTML=o.default.secondToTime(e)}},{key:"play",value:function(){var e=this;if(this.paused=!1,this.video.paused&&this.bezel.switch(c.default.play),this.template.playButton.innerHTML=c.default.pause,a.default.resolve(this.video.play()).catch(function(){e.pause()}).then(function(){}),this.timer.enable("loading"),this.container.classList.remove("dplayer-paused"),this.container.classList.add("dplayer-playing"),this.danmaku&&this.danmaku.play(),this.options.mutex)for(var t=0;t=.95?this.template.volumeIcon.innerHTML=c.default.volumeUp:this.volume()>0?this.template.volumeIcon.innerHTML=c.default.volumeDown:this.template.volumeIcon.innerHTML=c.default.volumeOff}},{key:"volume",value:function(e,t,n){if(e=parseFloat(e),!isNaN(e)){e=Math.max(e,0),e=Math.min(e,1),this.bar.set("volume",e,"width");var i=(100*e).toFixed(0)+"%";this.template.volumeBarWrapWrap.dataset.balloon=i,t||this.user.set("volume",e),n||this.notice(this.tran("Volume")+" "+(100*e).toFixed(0)+"%"),this.video.volume=e,this.video.muted&&(this.video.muted=!1),this.switchVolumeIcon()}return this.video.volume}},{key:"toggle",value:function(){this.video.paused?this.play():this.pause()}},{key:"on",value:function(e,t){this.events.on(e,t)}},{key:"switchVideo",value:function(e,t){this.pause(),this.video.poster=e.pic?e.pic:"",this.video.src=e.url,this.initMSE(this.video,e.type||"auto"),t&&(this.template.danmakuLoading.style.display="block",this.bar.set("played",0,"width"),this.bar.set("loaded",0,"width"),this.template.ptime.innerHTML="00:00",this.template.danmaku.innerHTML="",this.danmaku&&this.danmaku.reload({id:t.id,address:t.api,token:t.token,maximum:t.maximum,addition:t.addition,user:t.user}))}},{key:"initMSE",value:function(e,t){var n=this;if(this.type=t,this.options.video.customType&&this.options.video.customType[t])"[object Function]"===Object.prototype.toString.call(this.options.video.customType[t])?this.options.video.customType[t](this.video,this):console.error("Illegal customType: "+t);else switch("auto"===this.type&&(/m3u8(#|\?|$)/i.exec(e.src)?this.type="hls":/.flv(#|\?|$)/i.exec(e.src)?this.type="flv":/.mpd(#|\?|$)/i.exec(e.src)?this.type="dash":this.type="normal"),"hls"===this.type&&(e.canPlayType("application/x-mpegURL")||e.canPlayType("application/vnd.apple.mpegURL"))&&(this.type="normal"),this.type){case"hls":if(Hls)if(Hls.isSupported()){var i=new Hls;i.loadSource(e.src),i.attachMedia(e)}else this.notice("Error: Hls is not supported.");else this.notice("Error: Can't find Hls.");break;case"flv":if(flvjs&&flvjs.isSupported())if(flvjs.isSupported()){var a=flvjs.createPlayer({type:"flv",url:e.src});a.attachMediaElement(e),a.load()}else this.notice("Error: flvjs is not supported.");else this.notice("Error: Can't find flvjs.");break;case"dash":dashjs?dashjs.MediaPlayer().create().initialize(e,e.src,!1):this.notice("Error: Can't find dashjs.");break;case"webtorrent":if(WebTorrent)if(WebTorrent.WEBRTC_SUPPORT){this.container.classList.add("dplayer-loading");var o=new WebTorrent,r=e.src;o.add(r,function(e){e.files.find(function(e){return e.name.endsWith(".mp4")}).renderTo(n.video,{autoplay:n.options.autoplay},function(){n.container.classList.remove("dplayer-loading")})})}else this.notice("Error: Webtorrent is not supported.");else this.notice("Error: Can't find Webtorrent.")}}},{key:"initVideo",value:function(e,t){var n=this;this.initMSE(e,t),this.on("durationchange",function(){1!==e.duration&&e.duration!==1/0&&(n.template.dtime.innerHTML=o.default.secondToTime(e.duration))}),this.on("progress",function(){var t=e.buffered.length?e.buffered.end(e.buffered.length-1)/e.duration:0;n.bar.set("loaded",t,"width")}),this.on("error",function(){n.video.error&&n.tran&&n.notice&&(n.type,n.notice(n.tran("Video load failed"),-1))}),this.on("ended",function(){n.bar.set("played",1,"width"),n.setting.loop?(n.seek(0),n.play()):n.pause(),n.danmaku&&(n.danmaku.danIndex=0)}),this.on("play",function(){n.paused&&n.play()}),this.on("pause",function(){n.paused||n.pause()}),this.on("timeupdate",function(){n.bar.set("played",n.video.currentTime/n.video.duration,"width");var e=o.default.secondToTime(n.video.currentTime);n.template.ptime.innerHTML!==e&&(n.template.ptime.innerHTML=e)});for(var i=function(t){e.addEventListener(n.events.videoEvents[t],function(){n.events.trigger(n.events.videoEvents[t])})},a=0;a1&&void 0!==arguments[1]?arguments[1]:2e3,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.8;this.template.notice.innerHTML=e,this.template.notice.style.opacity=i,this.noticeTime&&clearTimeout(this.noticeTime),this.events.trigger("notice_show",e),n>0&&(this.noticeTime=setTimeout(function(){t.template.notice.style.opacity=0,t.events.trigger("notice_hide")},n))}},{key:"resize",value:function(){this.danmaku&&this.danmaku.resize(),this.events.trigger("resize")}},{key:"speed",value:function(e){this.video.playbackRate=e}},{key:"destroy",value:function(){M.splice(M.indexOf(this),1),this.pause(),this.controller.destroy(),this.timer.destroy(),this.video.src="",this.container.innerHTML="",this.events.trigger("destroy")}}],[{key:"version",get:function(){return"1.25.0"}}]),e}();t.default=_},,,function(e,t,n){},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(77);var i,a=n(74),o=(i=a)&&i.__esModule?i:{default:i};console.log("\n %c DPlayer v1.25.0 fdcf45b %c http://dplayer.js.org \n\n","color: #fadfa3; background: #030307; padding:5px 0;","background: #fadfa3; padding:5px 0;"),t.default=o.default}]).default}); +//# sourceMappingURL=DPlayer.min.js.map