From 952b66898aa5252784d5ffcf5d826c0f0d4df7bc Mon Sep 17 00:00:00 2001 From: Harvey Zack Date: Mon, 6 May 2019 15:06:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=B9=E5=B9=95=E5=90=8C=E6=AD=A5=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E6=92=AD=E6=94=BE=E9=80=9F=E5=BA=A6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/assets/example/danmuku.js | 2 + docs/uncompiled/artplayer-plugin-danmuku.js | 77 +++++++++++++------ .../artplayer-plugin-danmuku.js.map | 2 +- docs/uncompiled/artplayer.css | 2 +- docs/uncompiled/artplayer.css.map | 2 +- packages/artplayer-plugin-danmuku/README.md | 14 +++- .../artplayer-plugin-danmuku/src/danmuku.js | 10 ++- packages/artplayer-plugin-danmuku/src/i18n.js | 2 + .../artplayer-plugin-danmuku/src/setting.js | 72 ++++++++++++----- packages/artplayer/src/style/setting.scss | 8 ++ 10 files changed, 138 insertions(+), 53 deletions(-) diff --git a/docs/assets/example/danmuku.js b/docs/assets/example/danmuku.js index f80947126..17ba3aa3d 100644 --- a/docs/assets/example/danmuku.js +++ b/docs/assets/example/danmuku.js @@ -4,6 +4,7 @@ var art = new Artplayer({ url: url + '/video/you-name.mp4', autoSize: true, setting: true, + playbackRate: true, fullscreenWeb: true, plugins: [artplayerPluginDanmuku({ danmuku: url + '/danmuku/you-name.xml', @@ -12,5 +13,6 @@ var art = new Artplayer({ margin: [10, 100], opacity: 1, fontSize: 25, + synchronousPlayback: false, })], }); \ No newline at end of file diff --git a/docs/uncompiled/artplayer-plugin-danmuku.js b/docs/uncompiled/artplayer-plugin-danmuku.js index f104137c4..fe045d178 100644 --- a/docs/uncompiled/artplayer-plugin-danmuku.js +++ b/docs/uncompiled/artplayer-plugin-danmuku.js @@ -74,14 +74,16 @@ 'Danmu speed': '弹幕速度', 'Danmu size': '弹幕大小', 'Danmu text cannot be empty': '弹幕文本不能为空', - 'The length of the danmu does not exceed': '弹幕文本字数不能超过' + 'The length of the danmu does not exceed': '弹幕文本字数不能超过', + 'Synchronize video playback speed': '是否同步视频播放速度' }, 'zh-tw': { 'Danmu opacity': '彈幕透明度', 'Danmu speed': '彈幕速度', 'Danmu size': '弹幕大小', 'Danmu text cannot be empty': '彈幕文本不能為空', - 'The length of the danmu does not exceed': '彈幕文本字數不能超過' + 'The length of the danmu does not exceed': '彈幕文本字數不能超過', + 'Synchronize video playback speed': '是否同步視頻播放速度' } }; @@ -90,7 +92,7 @@ proxy = art.events.proxy; return { name: 'danmuku-opacity', - index: 30, + index: 10, html: "\n
\n ".concat(i18n.get('Danmu opacity'), ": 100%\n
\n
\n \n
\n "), mounted: function mounted($setting) { var $range = $setting.querySelector('input[type=range]'); @@ -101,12 +103,12 @@ art.plugins.artplayerPluginDanmuku.config({ opacity: Number(value) }); - art.on('artplayerPluginDanmuku:config', function (config) { - if ($range.value !== config.opacity) { - $range.value = config.opacity; - $value.innerText = config.opacity * 100; - } - }); + }); + art.on('artplayerPluginDanmuku:config', function (config) { + if ($range.value !== config.opacity) { + $range.value = config.opacity; + $value.innerText = config.opacity * 100; + } }); } }; @@ -116,7 +118,7 @@ proxy = art.events.proxy; return { name: 'danmuku-size', - index: 50, + index: 11, html: "\n
\n ".concat(i18n.get('Danmu size'), ": 25px\n
\n
\n \n
\n "), mounted: function mounted($setting) { var $range = $setting.querySelector('input[type=range]'); @@ -127,12 +129,12 @@ art.plugins.artplayerPluginDanmuku.config({ fontSize: Number(value) }); - art.on('artplayerPluginDanmuku:config', function (config) { - if ($range.value !== config.fontSize) { - $range.value = config.fontSize; - $value.innerText = config.fontSize; - } - }); + }); + art.on('artplayerPluginDanmuku:config', function (config) { + if ($range.value !== config.fontSize) { + $range.value = config.fontSize; + $value.innerText = config.fontSize; + } }); } }; @@ -142,7 +144,7 @@ proxy = art.events.proxy; return { name: 'danmuku-speed', - index: 40, + index: 12, html: "\n
\n ".concat(i18n.get('Danmu speed'), ": 5s\n
\n
\n \n
\n "), mounted: function mounted($setting) { var $range = $setting.querySelector('input[type=range]'); @@ -153,13 +155,35 @@ art.plugins.artplayerPluginDanmuku.config({ speed: Number(value) }); - art.on('artplayerPluginDanmuku:config', function (config) { - if ($range.value !== config.speed) { - $range.value = config.speed; - $value.innerText = config.speed; - } + }); + art.on('artplayerPluginDanmuku:config', function (config) { + if ($range.value !== config.speed) { + $range.value = config.speed; + $value.innerText = config.speed; + } + }); + } + }; + } + function synchronousPlayback(art) { + var i18n = art.i18n, + proxy = art.events.proxy; + return { + name: 'danmuku-synchronousPlayback', + index: 13, + html: "\n \n "), + mounted: function mounted($setting) { + var $checkbox = $setting.querySelector('input[type=checkbox]'); + proxy($checkbox, 'change', function () { + art.plugins.artplayerPluginDanmuku.config({ + synchronousPlayback: $checkbox.checked }); }); + art.on('artplayerPluginDanmuku:config', function (config) { + if ($checkbox.checked !== config.synchronousPlayback) { + $checkbox.checked = config.synchronousPlayback; + } + }); } }; } @@ -410,6 +434,7 @@ art.setting.add(opacity); art.setting.add(size); art.setting.add(speed); + art.setting.add(synchronousPlayback); this.art = art; this.queue = []; this.option = {}; @@ -554,7 +579,7 @@ danmu.$ref.innerText = danmu.text; danmu.$ref.style.color = danmu.color; danmu.$ref.style.border = danmu.border ? "1px solid ".concat(danmu.color) : 'none'; - danmu.$restTime = _this2.option.speed; + danmu.$restTime = _this2.option.synchronousPlayback && player.playbackRateState ? _this2.option.speed / Number(player.playbackRateState) : _this2.option.speed; danmu.$lastStartTime = Date.now(); var danmuWidth = getRect(danmu.$ref, 'width'); var danmuTop = getDanmuTop(_this2, danmu); @@ -657,7 +682,8 @@ maxlength: 50, margin: [10, 100], opacity: 1, - fontSize: 25 + fontSize: 25, + synchronousPlayback: false }; } }, { @@ -669,7 +695,8 @@ maxlength: 'number', margin: 'array', opacity: 'number', - fontSize: 'number' + fontSize: 'number', + synchronousPlayback: 'boolean' }; } }]); diff --git a/docs/uncompiled/artplayer-plugin-danmuku.js.map b/docs/uncompiled/artplayer-plugin-danmuku.js.map index e4ca5d712..c7156cc4e 100644 --- a/docs/uncompiled/artplayer-plugin-danmuku.js.map +++ b/docs/uncompiled/artplayer-plugin-danmuku.js.map @@ -1 +1 @@ -{"version":3,"file":"artplayer-plugin-danmuku.js","sources":["../../node_modules/@babel/runtime/helpers/defineProperty.js","../../node_modules/@babel/runtime/helpers/objectSpread.js","../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../packages/artplayer-plugin-danmuku/src/i18n.js","../../packages/artplayer-plugin-danmuku/src/setting.js","../../packages/artplayer-plugin-danmuku/src/utils.js","../../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../../node_modules/@babel/runtime/helpers/nonIterableRest.js","../../node_modules/@babel/runtime/helpers/slicedToArray.js","../../packages/artplayer-plugin-danmuku/src/bilibili.js","../../packages/artplayer-plugin-danmuku/src/getDanmuTop.js","../../packages/artplayer-plugin-danmuku/src/danmuku.js","../../packages/artplayer-plugin-danmuku/src/index.js"],"sourcesContent":["function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","var defineProperty = require(\"./defineProperty\");\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","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) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","export default {\n 'zh-cn': {\n 'Danmu opacity': '弹幕透明度',\n 'Danmu speed': '弹幕速度',\n 'Danmu size': '弹幕大小',\n 'Danmu text cannot be empty': '弹幕文本不能为空',\n 'The length of the danmu does not exceed': '弹幕文本字数不能超过',\n },\n 'zh-tw': {\n 'Danmu opacity': '彈幕透明度',\n 'Danmu speed': '彈幕速度',\n 'Danmu size': '弹幕大小',\n 'Danmu text cannot be empty': '彈幕文本不能為空',\n 'The length of the danmu does not exceed': '彈幕文本字數不能超過',\n },\n};","export function opacity(art) {\n const {\n i18n,\n events: { proxy },\n } = art;\n\n return {\n name: 'danmuku-opacity',\n index: 30,\n html: `\n
\n ${i18n.get('Danmu opacity')}: 100%\n
\n
\n \n
\n `,\n mounted: $setting => {\n const $range = $setting.querySelector('input[type=range]');\n const $value = $setting.querySelector('.art-value');\n proxy($range, 'change', () => {\n const { value } = $range;\n $value.innerText = Number(value) * 100;\n\n art.plugins.artplayerPluginDanmuku.config({\n opacity: Number(value),\n });\n\n art.on('artplayerPluginDanmuku:config', config => {\n if ($range.value !== config.opacity) {\n $range.value = config.opacity;\n $value.innerText = config.opacity * 100;\n }\n });\n });\n },\n };\n}\n\nexport function size(art) {\n const {\n i18n,\n events: { proxy },\n } = art;\n\n return {\n name: 'danmuku-size',\n index: 50,\n html: `\n
\n ${i18n.get('Danmu size')}: 25px\n
\n
\n \n
\n `,\n mounted: $setting => {\n const $range = $setting.querySelector('input[type=range]');\n const $value = $setting.querySelector('.art-value');\n proxy($range, 'change', () => {\n const { value } = $range;\n $value.innerText = value;\n\n art.plugins.artplayerPluginDanmuku.config({\n fontSize: Number(value),\n });\n\n art.on('artplayerPluginDanmuku:config', config => {\n if ($range.value !== config.fontSize) {\n $range.value = config.fontSize;\n $value.innerText = config.fontSize;\n }\n });\n });\n },\n };\n}\n\nexport function speed(art) {\n const {\n i18n,\n events: { proxy },\n } = art;\n\n return {\n name: 'danmuku-speed',\n index: 40,\n html: `\n
\n ${i18n.get('Danmu speed')}: 5s\n
\n
\n \n
\n `,\n mounted: $setting => {\n const $range = $setting.querySelector('input[type=range]');\n const $value = $setting.querySelector('.art-value');\n proxy($range, 'change', () => {\n const { value } = $range;\n $value.innerText = value;\n\n art.plugins.artplayerPluginDanmuku.config({\n speed: Number(value),\n });\n\n art.on('artplayerPluginDanmuku:config', config => {\n if ($range.value !== config.speed) {\n $range.value = config.speed;\n $value.innerText = config.speed;\n }\n });\n });\n },\n };\n}\n","export function filter(queue, state, callback) {\n return queue.filter(danmu => danmu.$state === state).map(callback);\n}\n\nexport function getRect(ref, key) {\n const result = ref.getBoundingClientRect();\n return key ? result[key] : result;\n}\n\nexport function getDanmuRef(queue) {\n const result = queue.find(danmu => {\n return danmu.$ref && danmu.$state === 'wait';\n });\n\n if (result) {\n const { $ref } = result;\n result.$ref = null;\n return $ref;\n }\n\n const $ref = document.createElement('div');\n $ref.style.cssText = `\n user-select: none;\n position: absolute;\n white-space: pre;\n pointer-events: none;\n perspective: 500px;\n display: inline-block;\n will-change: transform;\n font-family: SimHei, \"Microsoft JhengHei\", Arial, Helvetica, sans-serif;\n font-weight: normal;\n line-height: 1.125;\n text-shadow: rgb(0, 0, 0) 1px 0px 1px, rgb(0, 0, 0) 0px 1px 1px, rgb(0, 0, 0) 0px -1px 1px, rgb(0, 0, 0) -1px 0px 1px;\n `;\n\n return $ref;\n}","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nmodule.exports = _nonIterableRest;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","export function getMode(key) {\n switch (key) {\n case 1:\n case 2:\n case 3:\n return 'scroll';\n case 4:\n case 5:\n return 'static';\n default:\n return null;\n }\n}\n\nexport function bilibiliDanmuParseFromXml(xmlString) {\n if (typeof xmlString !== 'string') return [];\n const srtList = xmlString.match(/[\\S ]*?)<\\/d>/gi);\n return srtList.length\n ? srtList.map(item => {\n const [, attrStr, text] = item.match(/(.+)<\\/d>/);\n const attr = attrStr.split(',');\n return attr.length === 8 && text.trim()\n ? {\n text,\n time: Number(attr[0]),\n mode: getMode(Number(attr[1])),\n fontSize: Number(attr[2]),\n color: `#${Number(attr[3]).toString(16)}`,\n timestamp: Number(attr[4]),\n pool: Number(attr[5]),\n userID: attr[6],\n rowID: Number(attr[7]),\n }\n : null;\n })\n : [];\n}\n\nexport function bilibiliDanmuParseFromUrl(url) {\n return fetch(url)\n .then(res => res.text())\n .then(xmlString => {\n return bilibiliDanmuParseFromXml(xmlString);\n });\n}\n\nexport function bilibiliDanmuParseFromAv(av) {\n const corsUrl = 'https://cors-anywhere.herokuapp.com/';\n return fetch(`${corsUrl}https://api.bilibili.com/x/web-interface/view?aid=${av}`)\n .then(res => res.json())\n .then(res => {\n if (res.code === 0 && res.data && res.data.cid) {\n return bilibiliDanmuParseFromUrl(`${corsUrl}https://api.bilibili.com/x/v1/dm/list.so?oid=${res.data.cid}`);\n }\n throw new Error(`Unable to get data: ${JSON.stringify(res)}`);\n });\n}","import { getRect } from './utils';\n\nfunction calculatedTop(danmus) {\n let top = 0;\n const topMap = {};\n for (let index = 0; index < danmus.length; index += 1) {\n const item = danmus[index];\n if (topMap[item.top]) {\n topMap[item.top].push(item);\n } else {\n topMap[item.top] = [item];\n }\n }\n const topMapKeys = Object.keys(topMap);\n\n let maxDiff = 0;\n for (let index = 1; index < danmus.length; index += 1) {\n const item = danmus[index];\n const prev = danmus[index - 1];\n const prevTop = prev.top + prev.height;\n const diff = item.top - prevTop;\n if (diff > maxDiff) {\n top = prevTop;\n maxDiff = diff;\n }\n }\n\n if (top === 0) {\n let maxRight = 0;\n for (let index = 0; index < topMapKeys.length; index += 1) {\n let minRight = danmus[0].width;\n const topKey = topMapKeys[index];\n const danmuArr = topMap[topKey];\n for (let index = 0; index < danmuArr.length; index += 1) {\n const danmu = danmuArr[index];\n if (danmu.right < minRight) {\n minRight = danmu.right;\n }\n }\n\n if (minRight > maxRight) {\n maxRight = minRight;\n [{ top }] = danmuArr;\n }\n }\n }\n\n if (top === 0) {\n [top] = topMapKeys\n .filter((item, index) => {\n return index !== 0 && index !== topMapKeys.length - 1;\n })\n .sort((prev, next) => {\n return topMap[prev].length - topMap[next].length;\n });\n }\n\n return top;\n}\n\nexport default function getDanmuTop(ins, danmu) {\n const [marginTop, marginBottom] = ins.option.margin;\n const playerData = getRect(ins.art.template.$player);\n const danmus = ins.queue\n .filter(\n item =>\n item.mode === danmu.mode &&\n item.$state === 'emit' &&\n item.$ref &&\n item.$ref.style.fontSize === danmu.$ref.style.fontSize &&\n parseFloat(item.$ref.style.top) <= playerData.height - marginBottom,\n )\n .map(item => {\n const danmuData = getRect(item.$ref);\n const { width, height } = danmuData;\n const top = danmuData.top - playerData.top;\n const left = danmuData.left - playerData.left;\n const right = playerData.width - left - width;\n return { top, left, height, width, right };\n })\n .sort((prev, next) => {\n return prev.top - next.top;\n });\n\n if (danmus.length === 0) {\n return marginTop;\n }\n\n danmus.unshift({\n top: 0,\n left: 0,\n right: 0,\n height: marginTop,\n width: playerData.width,\n });\n\n danmus.push({\n top: playerData.height - marginBottom,\n left: 0,\n right: 0,\n height: marginBottom,\n width: playerData.width,\n });\n\n return calculatedTop(danmus);\n}\n","import i18n from './i18n';\nimport { opacity, size, speed } from './setting';\nimport { filter, getRect, getDanmuRef } from './utils';\nimport { bilibiliDanmuParseFromUrl } from './bilibili';\nimport getDanmuTop from './getDanmuTop';\n\nexport default class Danmuku {\n constructor(art, option) {\n art.i18n.update(i18n);\n art.setting.add(opacity);\n art.setting.add(size);\n art.setting.add(speed);\n this.art = art;\n this.queue = [];\n this.option = {};\n this.config(option);\n this.isStop = false;\n this.animationFrameTimer = null;\n this.$danmuku = art.template.$danmuku;\n art.on('video:play', this.start.bind(this));\n art.on('video:playing', this.start.bind(this));\n art.on('video:pause', this.stop.bind(this));\n art.on('video:waiting', this.stop.bind(this));\n art.on('resize', this.resize.bind(this));\n art.on('destroy', this.stop.bind(this));\n if (typeof this.option.danmuku === 'function') {\n this.option.danmuku().then(danmus => {\n danmus.forEach(this.emit.bind(this));\n art.emit('artplayerPluginDanmuku:loaded');\n });\n } else if (typeof this.option.danmuku === 'string') {\n bilibiliDanmuParseFromUrl(this.option.danmuku).then(danmus => {\n danmus.forEach(this.emit.bind(this));\n art.emit('artplayerPluginDanmuku:loaded');\n });\n } else {\n this.option.danmuku.forEach(this.emit.bind(this));\n art.emit('artplayerPluginDanmuku:loaded');\n }\n }\n\n static get option() {\n return {\n danmuku: [],\n speed: 5,\n maxlength: 50,\n margin: [10, 100],\n opacity: 1,\n fontSize: 25,\n };\n }\n\n static get scheme() {\n return {\n danmuku: 'array|function|string',\n speed: 'number',\n maxlength: 'number',\n margin: 'array',\n opacity: 'number',\n fontSize: 'number',\n };\n }\n\n config(option) {\n const {\n utils: { clamp },\n validator,\n } = this.art.constructor;\n this.option = Object.assign({}, Danmuku.option, this.option, option);\n validator(this.option, Danmuku.scheme);\n this.option.speed = clamp(this.option.speed, 1, 10);\n this.option.maxlength = clamp(this.option.maxlength, 10, 100);\n this.option.margin[0] = clamp(this.option.margin[0], 0, 100);\n this.option.margin[1] = clamp(this.option.margin[1], 0, 100);\n this.option.opacity = clamp(this.option.opacity, 0, 1);\n this.option.fontSize = clamp(this.option.fontSize, 12, 30);\n this.art.emit('artplayerPluginDanmuku:config', this.option);\n }\n\n continue() {\n filter(this.queue, 'stop', danmu => {\n danmu.$state = 'emit';\n danmu.$lastStartTime = Date.now();\n switch (danmu.mode) {\n case 'scroll':\n danmu.$ref.style.transform = `translateX(${-danmu.$restWidth}px) translateY(0px) translateZ(0px)`;\n danmu.$ref.style.transition = `transform ${danmu.$restTime}s linear 0s`;\n break;\n default:\n break;\n }\n });\n }\n\n suspend() {\n const { $player } = this.art.template;\n filter(this.queue, 'emit', danmu => {\n danmu.$state = 'stop';\n switch (danmu.mode) {\n case 'scroll': {\n const { left: playerLeft, width: playerWidth } = getRect($player);\n const { left: danmuLeft } = getRect(danmu.$ref);\n const translateX = playerWidth - (danmuLeft - playerLeft) + 5;\n danmu.$ref.style.transform = `translateX(${-translateX}px) translateY(0px) translateZ(0px)`;\n danmu.$ref.style.transition = 'transform 0s linear 0s';\n break;\n }\n default:\n break;\n }\n });\n }\n\n resize() {\n const { $player } = this.art.template;\n const danmuLeft = getRect($player, 'width');\n filter(this.queue, 'wait', danmu => {\n if (danmu.$ref) {\n danmu.$ref.style.border = 'none';\n danmu.$ref.style.left = `${danmuLeft}px`;\n danmu.$ref.style.marginLeft = '0px';\n danmu.$ref.style.transform = 'translateX(0px) translateY(0px) translateZ(0px)';\n danmu.$ref.style.transition = 'transform 0s linear 0s';\n }\n });\n }\n\n update() {\n const {\n player,\n template: { $player },\n } = this.art;\n this.animationFrameTimer = window.requestAnimationFrame(() => {\n if (player.playing) {\n const danmuLeft = getRect($player, 'width');\n\n filter(this.queue, 'emit', danmu => {\n danmu.$restTime -= (Date.now() - danmu.$lastStartTime) / 1000;\n danmu.$lastStartTime = Date.now();\n if (danmu.$restTime <= 0) {\n danmu.$state = 'wait';\n danmu.$ref.style.border = 'none';\n danmu.$ref.style.left = `${danmuLeft}px`;\n danmu.$ref.style.marginLeft = '0px';\n danmu.$ref.style.transform = 'translateX(0px) translateY(0px) translateZ(0px)';\n danmu.$ref.style.transition = 'transform 0s linear 0s';\n }\n });\n\n this.queue\n .filter(danmu => {\n return (\n player.currentTime + 0.1 >= danmu.time &&\n danmu.time >= player.currentTime - 0.1 &&\n danmu.$state === 'wait'\n );\n })\n .forEach(danmu => {\n danmu.$ref = getDanmuRef(this.queue);\n this.$danmuku.appendChild(danmu.$ref);\n danmu.$ref.style.opacity = this.option.opacity;\n danmu.$ref.style.fontSize = `${this.option.fontSize}px`;\n danmu.$ref.innerText = danmu.text;\n danmu.$ref.style.color = danmu.color;\n danmu.$ref.style.border = danmu.border ? `1px solid ${danmu.color}` : 'none';\n danmu.$restTime = this.option.speed;\n danmu.$lastStartTime = Date.now();\n const danmuWidth = getRect(danmu.$ref, 'width');\n const danmuTop = getDanmuTop(this, danmu);\n danmu.$state = 'emit';\n switch (danmu.mode) {\n case 'scroll': {\n danmu.$restWidth = danmuLeft + danmuWidth + 5;\n danmu.$ref.style.left = `${danmuLeft}px`;\n danmu.$ref.style.top = `${danmuTop}px`;\n danmu.$ref.style.transform = `translateX(${-danmu.$restWidth}px) translateY(0px) translateZ(0px)`;\n danmu.$ref.style.transition = `transform ${danmu.$restTime}s linear 0s`;\n break;\n }\n case 'static':\n danmu.$ref.style.top = `${danmuTop}px`;\n danmu.$ref.style.left = '50%';\n danmu.$ref.style.marginLeft = `-${danmuWidth / 2}px`;\n break;\n default:\n break;\n }\n });\n }\n\n if (!this.isStop) {\n this.update();\n }\n });\n }\n\n stop() {\n this.isStop = true;\n this.suspend();\n window.cancelAnimationFrame(this.animationFrameTimer);\n this.art.emit('artplayerPluginDanmuku:stop');\n }\n\n start() {\n this.isStop = false;\n this.continue();\n this.update();\n this.art.emit('artplayerPluginDanmuku:start');\n }\n\n show() {\n this.$danmuku.style = 'block';\n this.art.emit('artplayerPluginDanmuku:show');\n }\n\n hide() {\n this.$danmuku.style = 'none';\n this.art.emit('artplayerPluginDanmuku:hide');\n }\n\n emit(danmu) {\n const { notice, player, i18n } = this.art;\n if (!danmu.text.trim()) {\n notice.show(i18n.get('Danmu text cannot be empty'));\n return;\n }\n\n if (danmu.text.length > this.option.maxlength) {\n notice.show(`${i18n.get('The length of the danmu does not exceed')} ${this.option.maxlength}`);\n return;\n }\n\n if (typeof danmu.time !== 'number') {\n danmu.time = player.currentTime;\n }\n\n this.queue.push({\n mode: 'scroll',\n ...danmu,\n $state: 'wait',\n $ref: null,\n $restTime: 0,\n $lastStartTime: 0,\n $restWidth: 0,\n });\n }\n}\n","import Danmuku from './danmuku';\n\nexport default function artplayerPluginDanmuku(option) {\n return art => {\n const danmuku = new Danmuku(art, option);\n return {\n name: 'artplayerPluginDanmuku',\n emit: danmuku.emit.bind(danmuku),\n config: danmuku.config.bind(danmuku),\n hide: danmuku.hide.bind(danmuku),\n show: danmuku.show.bind(danmuku),\n };\n };\n}"],"names":["opacity","art","i18n","proxy","events","name","index","html","get","mounted","$setting","$range","querySelector","$value","value","innerText","Number","plugins","artplayerPluginDanmuku","config","on","size","fontSize","speed","filter","queue","state","callback","danmu","$state","map","getRect","ref","key","result","getBoundingClientRect","getDanmuRef","find","$ref","document","createElement","style","cssText","getMode","bilibiliDanmuParseFromXml","xmlString","srtList","match","length","item","attrStr","text","attr","split","trim","time","mode","color","toString","timestamp","pool","userID","rowID","bilibiliDanmuParseFromUrl","url","fetch","then","res","calculatedTop","danmus","top","topMap","push","topMapKeys","Object","keys","maxDiff","prev","prevTop","height","diff","maxRight","minRight","width","topKey","danmuArr","right","sort","next","getDanmuTop","ins","option","margin","marginTop","marginBottom","playerData","template","$player","parseFloat","danmuData","left","unshift","Danmuku","update","setting","add","isStop","animationFrameTimer","$danmuku","start","bind","stop","resize","danmuku","forEach","emit","constructor","clamp","utils","validator","assign","scheme","maxlength","$lastStartTime","Date","now","transform","$restWidth","transition","$restTime","playerLeft","playerWidth","danmuLeft","translateX","border","marginLeft","player","window","requestAnimationFrame","playing","currentTime","appendChild","danmuWidth","danmuTop","suspend","cancelAnimationFrame","notice","show","hide"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"artplayer-plugin-danmuku.js","sources":["../../node_modules/@babel/runtime/helpers/defineProperty.js","../../node_modules/@babel/runtime/helpers/objectSpread.js","../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../packages/artplayer-plugin-danmuku/src/i18n.js","../../packages/artplayer-plugin-danmuku/src/setting.js","../../packages/artplayer-plugin-danmuku/src/utils.js","../../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../../node_modules/@babel/runtime/helpers/nonIterableRest.js","../../node_modules/@babel/runtime/helpers/slicedToArray.js","../../packages/artplayer-plugin-danmuku/src/bilibili.js","../../packages/artplayer-plugin-danmuku/src/getDanmuTop.js","../../packages/artplayer-plugin-danmuku/src/danmuku.js","../../packages/artplayer-plugin-danmuku/src/index.js"],"sourcesContent":["function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","var defineProperty = require(\"./defineProperty\");\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","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) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","export default {\n 'zh-cn': {\n 'Danmu opacity': '弹幕透明度',\n 'Danmu speed': '弹幕速度',\n 'Danmu size': '弹幕大小',\n 'Danmu text cannot be empty': '弹幕文本不能为空',\n 'The length of the danmu does not exceed': '弹幕文本字数不能超过',\n 'Synchronize video playback speed': '是否同步视频播放速度',\n },\n 'zh-tw': {\n 'Danmu opacity': '彈幕透明度',\n 'Danmu speed': '彈幕速度',\n 'Danmu size': '弹幕大小',\n 'Danmu text cannot be empty': '彈幕文本不能為空',\n 'The length of the danmu does not exceed': '彈幕文本字數不能超過',\n 'Synchronize video playback speed': '是否同步視頻播放速度',\n },\n};","export function opacity(art) {\n const {\n i18n,\n events: { proxy },\n } = art;\n\n return {\n name: 'danmuku-opacity',\n index: 10,\n html: `\n
\n ${i18n.get('Danmu opacity')}: 100%\n
\n
\n \n
\n `,\n mounted: $setting => {\n const $range = $setting.querySelector('input[type=range]');\n const $value = $setting.querySelector('.art-value');\n proxy($range, 'change', () => {\n const { value } = $range;\n $value.innerText = Number(value) * 100;\n\n art.plugins.artplayerPluginDanmuku.config({\n opacity: Number(value),\n });\n });\n\n art.on('artplayerPluginDanmuku:config', config => {\n if ($range.value !== config.opacity) {\n $range.value = config.opacity;\n $value.innerText = config.opacity * 100;\n }\n });\n },\n };\n}\n\nexport function size(art) {\n const {\n i18n,\n events: { proxy },\n } = art;\n\n return {\n name: 'danmuku-size',\n index: 11,\n html: `\n
\n ${i18n.get('Danmu size')}: 25px\n
\n
\n \n
\n `,\n mounted: $setting => {\n const $range = $setting.querySelector('input[type=range]');\n const $value = $setting.querySelector('.art-value');\n proxy($range, 'change', () => {\n const { value } = $range;\n $value.innerText = value;\n\n art.plugins.artplayerPluginDanmuku.config({\n fontSize: Number(value),\n });\n });\n\n art.on('artplayerPluginDanmuku:config', config => {\n if ($range.value !== config.fontSize) {\n $range.value = config.fontSize;\n $value.innerText = config.fontSize;\n }\n });\n },\n };\n}\n\nexport function speed(art) {\n const {\n i18n,\n events: { proxy },\n } = art;\n\n return {\n name: 'danmuku-speed',\n index: 12,\n html: `\n
\n ${i18n.get('Danmu speed')}: 5s\n
\n
\n \n
\n `,\n mounted: $setting => {\n const $range = $setting.querySelector('input[type=range]');\n const $value = $setting.querySelector('.art-value');\n proxy($range, 'change', () => {\n const { value } = $range;\n $value.innerText = value;\n\n art.plugins.artplayerPluginDanmuku.config({\n speed: Number(value),\n });\n });\n\n art.on('artplayerPluginDanmuku:config', config => {\n if ($range.value !== config.speed) {\n $range.value = config.speed;\n $value.innerText = config.speed;\n }\n });\n },\n };\n}\n\nexport function synchronousPlayback(art) {\n const {\n i18n,\n events: { proxy },\n } = art;\n return {\n name: 'danmuku-synchronousPlayback',\n index: 13,\n html: `\n \n `,\n mounted: $setting => {\n const $checkbox = $setting.querySelector('input[type=checkbox]');\n proxy($checkbox, 'change', () => {\n art.plugins.artplayerPluginDanmuku.config({\n synchronousPlayback: $checkbox.checked,\n });\n });\n\n art.on('artplayerPluginDanmuku:config', config => {\n if ($checkbox.checked !== config.synchronousPlayback) {\n $checkbox.checked = config.synchronousPlayback;\n }\n });\n },\n };\n}\n","export function filter(queue, state, callback) {\n return queue.filter(danmu => danmu.$state === state).map(callback);\n}\n\nexport function getRect(ref, key) {\n const result = ref.getBoundingClientRect();\n return key ? result[key] : result;\n}\n\nexport function getDanmuRef(queue) {\n const result = queue.find(danmu => {\n return danmu.$ref && danmu.$state === 'wait';\n });\n\n if (result) {\n const { $ref } = result;\n result.$ref = null;\n return $ref;\n }\n\n const $ref = document.createElement('div');\n $ref.style.cssText = `\n user-select: none;\n position: absolute;\n white-space: pre;\n pointer-events: none;\n perspective: 500px;\n display: inline-block;\n will-change: transform;\n font-family: SimHei, \"Microsoft JhengHei\", Arial, Helvetica, sans-serif;\n font-weight: normal;\n line-height: 1.125;\n text-shadow: rgb(0, 0, 0) 1px 0px 1px, rgb(0, 0, 0) 0px 1px 1px, rgb(0, 0, 0) 0px -1px 1px, rgb(0, 0, 0) -1px 0px 1px;\n `;\n\n return $ref;\n}","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nmodule.exports = _nonIterableRest;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","export function getMode(key) {\n switch (key) {\n case 1:\n case 2:\n case 3:\n return 'scroll';\n case 4:\n case 5:\n return 'static';\n default:\n return null;\n }\n}\n\nexport function bilibiliDanmuParseFromXml(xmlString) {\n if (typeof xmlString !== 'string') return [];\n const srtList = xmlString.match(/[\\S ]*?)<\\/d>/gi);\n return srtList.length\n ? srtList.map(item => {\n const [, attrStr, text] = item.match(/(.+)<\\/d>/);\n const attr = attrStr.split(',');\n return attr.length === 8 && text.trim()\n ? {\n text,\n time: Number(attr[0]),\n mode: getMode(Number(attr[1])),\n fontSize: Number(attr[2]),\n color: `#${Number(attr[3]).toString(16)}`,\n timestamp: Number(attr[4]),\n pool: Number(attr[5]),\n userID: attr[6],\n rowID: Number(attr[7]),\n }\n : null;\n })\n : [];\n}\n\nexport function bilibiliDanmuParseFromUrl(url) {\n return fetch(url)\n .then(res => res.text())\n .then(xmlString => {\n return bilibiliDanmuParseFromXml(xmlString);\n });\n}\n\nexport function bilibiliDanmuParseFromAv(av) {\n const corsUrl = 'https://cors-anywhere.herokuapp.com/';\n return fetch(`${corsUrl}https://api.bilibili.com/x/web-interface/view?aid=${av}`)\n .then(res => res.json())\n .then(res => {\n if (res.code === 0 && res.data && res.data.cid) {\n return bilibiliDanmuParseFromUrl(`${corsUrl}https://api.bilibili.com/x/v1/dm/list.so?oid=${res.data.cid}`);\n }\n throw new Error(`Unable to get data: ${JSON.stringify(res)}`);\n });\n}","import { getRect } from './utils';\n\nfunction calculatedTop(danmus) {\n let top = 0;\n const topMap = {};\n for (let index = 0; index < danmus.length; index += 1) {\n const item = danmus[index];\n if (topMap[item.top]) {\n topMap[item.top].push(item);\n } else {\n topMap[item.top] = [item];\n }\n }\n const topMapKeys = Object.keys(topMap);\n\n let maxDiff = 0;\n for (let index = 1; index < danmus.length; index += 1) {\n const item = danmus[index];\n const prev = danmus[index - 1];\n const prevTop = prev.top + prev.height;\n const diff = item.top - prevTop;\n if (diff > maxDiff) {\n top = prevTop;\n maxDiff = diff;\n }\n }\n\n if (top === 0) {\n let maxRight = 0;\n for (let index = 0; index < topMapKeys.length; index += 1) {\n let minRight = danmus[0].width;\n const topKey = topMapKeys[index];\n const danmuArr = topMap[topKey];\n for (let index = 0; index < danmuArr.length; index += 1) {\n const danmu = danmuArr[index];\n if (danmu.right < minRight) {\n minRight = danmu.right;\n }\n }\n\n if (minRight > maxRight) {\n maxRight = minRight;\n [{ top }] = danmuArr;\n }\n }\n }\n\n if (top === 0) {\n [top] = topMapKeys\n .filter((item, index) => {\n return index !== 0 && index !== topMapKeys.length - 1;\n })\n .sort((prev, next) => {\n return topMap[prev].length - topMap[next].length;\n });\n }\n\n return top;\n}\n\nexport default function getDanmuTop(ins, danmu) {\n const [marginTop, marginBottom] = ins.option.margin;\n const playerData = getRect(ins.art.template.$player);\n const danmus = ins.queue\n .filter(\n item =>\n item.mode === danmu.mode &&\n item.$state === 'emit' &&\n item.$ref &&\n item.$ref.style.fontSize === danmu.$ref.style.fontSize &&\n parseFloat(item.$ref.style.top) <= playerData.height - marginBottom,\n )\n .map(item => {\n const danmuData = getRect(item.$ref);\n const { width, height } = danmuData;\n const top = danmuData.top - playerData.top;\n const left = danmuData.left - playerData.left;\n const right = playerData.width - left - width;\n return { top, left, height, width, right };\n })\n .sort((prev, next) => {\n return prev.top - next.top;\n });\n\n if (danmus.length === 0) {\n return marginTop;\n }\n\n danmus.unshift({\n top: 0,\n left: 0,\n right: 0,\n height: marginTop,\n width: playerData.width,\n });\n\n danmus.push({\n top: playerData.height - marginBottom,\n left: 0,\n right: 0,\n height: marginBottom,\n width: playerData.width,\n });\n\n return calculatedTop(danmus);\n}\n","import i18n from './i18n';\nimport { opacity, size, speed, synchronousPlayback } from './setting';\nimport { filter, getRect, getDanmuRef } from './utils';\nimport { bilibiliDanmuParseFromUrl } from './bilibili';\nimport getDanmuTop from './getDanmuTop';\n\nexport default class Danmuku {\n constructor(art, option) {\n art.i18n.update(i18n);\n art.setting.add(opacity);\n art.setting.add(size);\n art.setting.add(speed);\n art.setting.add(synchronousPlayback);\n this.art = art;\n this.queue = [];\n this.option = {};\n this.config(option);\n this.isStop = false;\n this.animationFrameTimer = null;\n this.$danmuku = art.template.$danmuku;\n art.on('video:play', this.start.bind(this));\n art.on('video:playing', this.start.bind(this));\n art.on('video:pause', this.stop.bind(this));\n art.on('video:waiting', this.stop.bind(this));\n art.on('resize', this.resize.bind(this));\n art.on('destroy', this.stop.bind(this));\n if (typeof this.option.danmuku === 'function') {\n this.option.danmuku().then(danmus => {\n danmus.forEach(this.emit.bind(this));\n art.emit('artplayerPluginDanmuku:loaded');\n });\n } else if (typeof this.option.danmuku === 'string') {\n bilibiliDanmuParseFromUrl(this.option.danmuku).then(danmus => {\n danmus.forEach(this.emit.bind(this));\n art.emit('artplayerPluginDanmuku:loaded');\n });\n } else {\n this.option.danmuku.forEach(this.emit.bind(this));\n art.emit('artplayerPluginDanmuku:loaded');\n }\n }\n\n static get option() {\n return {\n danmuku: [],\n speed: 5,\n maxlength: 50,\n margin: [10, 100],\n opacity: 1,\n fontSize: 25,\n synchronousPlayback: false,\n };\n }\n\n static get scheme() {\n return {\n danmuku: 'array|function|string',\n speed: 'number',\n maxlength: 'number',\n margin: 'array',\n opacity: 'number',\n fontSize: 'number',\n synchronousPlayback: 'boolean',\n };\n }\n\n config(option) {\n const {\n utils: { clamp },\n validator,\n } = this.art.constructor;\n this.option = Object.assign({}, Danmuku.option, this.option, option);\n validator(this.option, Danmuku.scheme);\n this.option.speed = clamp(this.option.speed, 1, 10);\n this.option.maxlength = clamp(this.option.maxlength, 10, 100);\n this.option.margin[0] = clamp(this.option.margin[0], 0, 100);\n this.option.margin[1] = clamp(this.option.margin[1], 0, 100);\n this.option.opacity = clamp(this.option.opacity, 0, 1);\n this.option.fontSize = clamp(this.option.fontSize, 12, 30);\n this.art.emit('artplayerPluginDanmuku:config', this.option);\n }\n\n continue() {\n filter(this.queue, 'stop', danmu => {\n danmu.$state = 'emit';\n danmu.$lastStartTime = Date.now();\n switch (danmu.mode) {\n case 'scroll':\n danmu.$ref.style.transform = `translateX(${-danmu.$restWidth}px) translateY(0px) translateZ(0px)`;\n danmu.$ref.style.transition = `transform ${danmu.$restTime}s linear 0s`;\n break;\n default:\n break;\n }\n });\n }\n\n suspend() {\n const { $player } = this.art.template;\n filter(this.queue, 'emit', danmu => {\n danmu.$state = 'stop';\n switch (danmu.mode) {\n case 'scroll': {\n const { left: playerLeft, width: playerWidth } = getRect($player);\n const { left: danmuLeft } = getRect(danmu.$ref);\n const translateX = playerWidth - (danmuLeft - playerLeft) + 5;\n danmu.$ref.style.transform = `translateX(${-translateX}px) translateY(0px) translateZ(0px)`;\n danmu.$ref.style.transition = 'transform 0s linear 0s';\n break;\n }\n default:\n break;\n }\n });\n }\n\n resize() {\n const { $player } = this.art.template;\n const danmuLeft = getRect($player, 'width');\n filter(this.queue, 'wait', danmu => {\n if (danmu.$ref) {\n danmu.$ref.style.border = 'none';\n danmu.$ref.style.left = `${danmuLeft}px`;\n danmu.$ref.style.marginLeft = '0px';\n danmu.$ref.style.transform = 'translateX(0px) translateY(0px) translateZ(0px)';\n danmu.$ref.style.transition = 'transform 0s linear 0s';\n }\n });\n }\n\n update() {\n const {\n player,\n template: { $player },\n } = this.art;\n this.animationFrameTimer = window.requestAnimationFrame(() => {\n if (player.playing) {\n const danmuLeft = getRect($player, 'width');\n\n filter(this.queue, 'emit', danmu => {\n danmu.$restTime -= (Date.now() - danmu.$lastStartTime) / 1000;\n danmu.$lastStartTime = Date.now();\n if (danmu.$restTime <= 0) {\n danmu.$state = 'wait';\n danmu.$ref.style.border = 'none';\n danmu.$ref.style.left = `${danmuLeft}px`;\n danmu.$ref.style.marginLeft = '0px';\n danmu.$ref.style.transform = 'translateX(0px) translateY(0px) translateZ(0px)';\n danmu.$ref.style.transition = 'transform 0s linear 0s';\n }\n });\n\n this.queue\n .filter(danmu => {\n return (\n player.currentTime + 0.1 >= danmu.time &&\n danmu.time >= player.currentTime - 0.1 &&\n danmu.$state === 'wait'\n );\n })\n .forEach(danmu => {\n danmu.$ref = getDanmuRef(this.queue);\n this.$danmuku.appendChild(danmu.$ref);\n danmu.$ref.style.opacity = this.option.opacity;\n danmu.$ref.style.fontSize = `${this.option.fontSize}px`;\n danmu.$ref.innerText = danmu.text;\n danmu.$ref.style.color = danmu.color;\n danmu.$ref.style.border = danmu.border ? `1px solid ${danmu.color}` : 'none';\n danmu.$restTime =\n this.option.synchronousPlayback && player.playbackRateState\n ? this.option.speed / Number(player.playbackRateState)\n : this.option.speed;\n danmu.$lastStartTime = Date.now();\n const danmuWidth = getRect(danmu.$ref, 'width');\n const danmuTop = getDanmuTop(this, danmu);\n danmu.$state = 'emit';\n switch (danmu.mode) {\n case 'scroll': {\n danmu.$restWidth = danmuLeft + danmuWidth + 5;\n danmu.$ref.style.left = `${danmuLeft}px`;\n danmu.$ref.style.top = `${danmuTop}px`;\n danmu.$ref.style.transform = `translateX(${-danmu.$restWidth}px) translateY(0px) translateZ(0px)`;\n danmu.$ref.style.transition = `transform ${danmu.$restTime}s linear 0s`;\n break;\n }\n case 'static':\n danmu.$ref.style.top = `${danmuTop}px`;\n danmu.$ref.style.left = '50%';\n danmu.$ref.style.marginLeft = `-${danmuWidth / 2}px`;\n break;\n default:\n break;\n }\n });\n }\n\n if (!this.isStop) {\n this.update();\n }\n });\n }\n\n stop() {\n this.isStop = true;\n this.suspend();\n window.cancelAnimationFrame(this.animationFrameTimer);\n this.art.emit('artplayerPluginDanmuku:stop');\n }\n\n start() {\n this.isStop = false;\n this.continue();\n this.update();\n this.art.emit('artplayerPluginDanmuku:start');\n }\n\n show() {\n this.$danmuku.style = 'block';\n this.art.emit('artplayerPluginDanmuku:show');\n }\n\n hide() {\n this.$danmuku.style = 'none';\n this.art.emit('artplayerPluginDanmuku:hide');\n }\n\n emit(danmu) {\n const { notice, player, i18n } = this.art;\n if (!danmu.text.trim()) {\n notice.show(i18n.get('Danmu text cannot be empty'));\n return;\n }\n\n if (danmu.text.length > this.option.maxlength) {\n notice.show(`${i18n.get('The length of the danmu does not exceed')} ${this.option.maxlength}`);\n return;\n }\n\n if (typeof danmu.time !== 'number') {\n danmu.time = player.currentTime;\n }\n\n this.queue.push({\n mode: 'scroll',\n ...danmu,\n $state: 'wait',\n $ref: null,\n $restTime: 0,\n $lastStartTime: 0,\n $restWidth: 0,\n });\n }\n}\n","import Danmuku from './danmuku';\n\nexport default function artplayerPluginDanmuku(option) {\n return art => {\n const danmuku = new Danmuku(art, option);\n return {\n name: 'artplayerPluginDanmuku',\n emit: danmuku.emit.bind(danmuku),\n config: danmuku.config.bind(danmuku),\n hide: danmuku.hide.bind(danmuku),\n show: danmuku.show.bind(danmuku),\n };\n };\n}"],"names":["opacity","art","i18n","proxy","events","name","index","html","get","mounted","$setting","$range","querySelector","$value","value","innerText","Number","plugins","artplayerPluginDanmuku","config","on","size","fontSize","speed","synchronousPlayback","$checkbox","checked","filter","queue","state","callback","danmu","$state","map","getRect","ref","key","result","getBoundingClientRect","getDanmuRef","find","$ref","document","createElement","style","cssText","getMode","bilibiliDanmuParseFromXml","xmlString","srtList","match","length","item","attrStr","text","attr","split","trim","time","mode","color","toString","timestamp","pool","userID","rowID","bilibiliDanmuParseFromUrl","url","fetch","then","res","calculatedTop","danmus","top","topMap","push","topMapKeys","Object","keys","maxDiff","prev","prevTop","height","diff","maxRight","minRight","width","topKey","danmuArr","right","sort","next","getDanmuTop","ins","option","margin","marginTop","marginBottom","playerData","template","$player","parseFloat","danmuData","left","unshift","Danmuku","update","setting","add","isStop","animationFrameTimer","$danmuku","start","bind","stop","resize","danmuku","forEach","emit","constructor","clamp","utils","validator","assign","scheme","maxlength","$lastStartTime","Date","now","transform","$restWidth","transition","$restTime","playerLeft","playerWidth","danmuLeft","translateX","border","marginLeft","player","window","requestAnimationFrame","playing","currentTime","appendChild","playbackRateState","danmuWidth","danmuTop","suspend","cancelAnimationFrame","notice","show","hide"],"mappings":";;;;;;EAAA,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;IACxC,IAAI,GAAG,IAAI,GAAG,EAAE;MACd,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE;QAC9B,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;OACf,CAAC,CAAC;KACJ,MAAM;MACL,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;KAClB;;IAED,OAAO,GAAG,CAAC;GACZ;;EAED,kBAAc,GAAG,eAAe;;ECbhC,SAAS,aAAa,CAAC,MAAM,EAAE;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;MACzC,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;MACtD,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;MAElC,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU,EAAE;QACtD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE;UAClF,OAAO,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC;SAChE,CAAC,CAAC,CAAC;OACL;;MAED,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;QAC7B,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;OAC1C,CAAC,CAAC;KACJ;;IAED,OAAO,MAAM,CAAC;GACf;;EAED,gBAAc,GAAG,aAAa;;ECrB9B,SAAS,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE;IAC9C,IAAI,EAAE,QAAQ,YAAY,WAAW,CAAC,EAAE;MACtC,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;KAC1D;GACF;;EAED,kBAAc,GAAG,eAAe;;ECNhC,SAAS,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;MACrC,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;MAC1B,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,KAAK,CAAC;MACvD,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;MAC/B,IAAI,OAAO,IAAI,UAAU,EAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;MACtD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;KAC3D;GACF;;EAED,SAAS,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE;IAC1D,IAAI,UAAU,EAAE,iBAAiB,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACrE,IAAI,WAAW,EAAE,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC7D,OAAO,WAAW,CAAC;GACpB;;EAED,eAAc,GAAG,YAAY;;AChB7B,aAAe;EACX,WAAS;EACL,qBAAiB,OADZ;EAEL,mBAAe,MAFV;EAGL,kBAAc,MAHT;EAIL,kCAA8B,UAJzB;EAKL,+CAA2C,YALtC;EAML,wCAAoC;EAN/B,GADE;EASX,WAAS;EACL,qBAAiB,OADZ;EAEL,mBAAe,MAFV;EAGL,kBAAc,MAHT;EAIL,kCAA8B,UAJzB;EAKL,+CAA2C,YALtC;EAML,wCAAoC;EAN/B;EATE,CAAf;;ECAO,SAASA,OAAT,CAAiBC,GAAjB,EAAsB;EAAA,MAErBC,IAFqB,GAIrBD,GAJqB,CAErBC,IAFqB;EAAA,MAGXC,KAHW,GAIrBF,GAJqB,CAGrBG,MAHqB,CAGXD,KAHW;EAMzB,SAAO;EACHE,IAAAA,IAAI,EAAE,iBADH;EAEHC,IAAAA,KAAK,EAAE,EAFJ;EAGHC,IAAAA,IAAI,8EAEML,IAAI,CAACM,GAAL,CAAS,eAAT,CAFN,oOAHD;EAWHC,IAAAA,OAAO,EAAE,iBAAAC,QAAQ,EAAI;EACjB,UAAMC,MAAM,GAAGD,QAAQ,CAACE,aAAT,CAAuB,mBAAvB,CAAf;EACA,UAAMC,MAAM,GAAGH,QAAQ,CAACE,aAAT,CAAuB,YAAvB,CAAf;EACAT,MAAAA,KAAK,CAACQ,MAAD,EAAS,QAAT,EAAmB,YAAM;EAAA,YAClBG,KADkB,GACRH,MADQ,CAClBG,KADkB;EAE1BD,QAAAA,MAAM,CAACE,SAAP,GAAmBC,MAAM,CAACF,KAAD,CAAN,GAAgB,GAAnC;EAEAb,QAAAA,GAAG,CAACgB,OAAJ,CAAYC,sBAAZ,CAAmCC,MAAnC,CAA0C;EACtCnB,UAAAA,OAAO,EAAEgB,MAAM,CAACF,KAAD;EADuB,SAA1C;EAGH,OAPI,CAAL;EASAb,MAAAA,GAAG,CAACmB,EAAJ,CAAO,+BAAP,EAAwC,UAAAD,MAAM,EAAI;EAC9C,YAAIR,MAAM,CAACG,KAAP,KAAiBK,MAAM,CAACnB,OAA5B,EAAqC;EACjCW,UAAAA,MAAM,CAACG,KAAP,GAAeK,MAAM,CAACnB,OAAtB;EACAa,UAAAA,MAAM,CAACE,SAAP,GAAmBI,MAAM,CAACnB,OAAP,GAAiB,GAApC;EACH;EACJ,OALD;EAMH;EA7BE,GAAP;EA+BH;AAED,EAAO,SAASqB,IAAT,CAAcpB,GAAd,EAAmB;EAAA,MAElBC,IAFkB,GAIlBD,GAJkB,CAElBC,IAFkB;EAAA,MAGRC,KAHQ,GAIlBF,GAJkB,CAGlBG,MAHkB,CAGRD,KAHQ;EAMtB,SAAO;EACHE,IAAAA,IAAI,EAAE,cADH;EAEHC,IAAAA,KAAK,EAAE,EAFJ;EAGHC,IAAAA,IAAI,8EAEML,IAAI,CAACM,GAAL,CAAS,YAAT,CAFN,mOAHD;EAWHC,IAAAA,OAAO,EAAE,iBAAAC,QAAQ,EAAI;EACjB,UAAMC,MAAM,GAAGD,QAAQ,CAACE,aAAT,CAAuB,mBAAvB,CAAf;EACA,UAAMC,MAAM,GAAGH,QAAQ,CAACE,aAAT,CAAuB,YAAvB,CAAf;EACAT,MAAAA,KAAK,CAACQ,MAAD,EAAS,QAAT,EAAmB,YAAM;EAAA,YAClBG,KADkB,GACRH,MADQ,CAClBG,KADkB;EAE1BD,QAAAA,MAAM,CAACE,SAAP,GAAmBD,KAAnB;EAEAb,QAAAA,GAAG,CAACgB,OAAJ,CAAYC,sBAAZ,CAAmCC,MAAnC,CAA0C;EACtCG,UAAAA,QAAQ,EAAEN,MAAM,CAACF,KAAD;EADsB,SAA1C;EAGH,OAPI,CAAL;EASAb,MAAAA,GAAG,CAACmB,EAAJ,CAAO,+BAAP,EAAwC,UAAAD,MAAM,EAAI;EAC9C,YAAIR,MAAM,CAACG,KAAP,KAAiBK,MAAM,CAACG,QAA5B,EAAsC;EAClCX,UAAAA,MAAM,CAACG,KAAP,GAAeK,MAAM,CAACG,QAAtB;EACAT,UAAAA,MAAM,CAACE,SAAP,GAAmBI,MAAM,CAACG,QAA1B;EACH;EACJ,OALD;EAMH;EA7BE,GAAP;EA+BH;AAED,EAAO,SAASC,KAAT,CAAetB,GAAf,EAAoB;EAAA,MAEnBC,IAFmB,GAInBD,GAJmB,CAEnBC,IAFmB;EAAA,MAGTC,KAHS,GAInBF,GAJmB,CAGnBG,MAHmB,CAGTD,KAHS;EAMvB,SAAO;EACHE,IAAAA,IAAI,EAAE,eADH;EAEHC,IAAAA,KAAK,EAAE,EAFJ;EAGHC,IAAAA,IAAI,8EAEML,IAAI,CAACM,GAAL,CAAS,aAAT,CAFN,+NAHD;EAWHC,IAAAA,OAAO,EAAE,iBAAAC,QAAQ,EAAI;EACjB,UAAMC,MAAM,GAAGD,QAAQ,CAACE,aAAT,CAAuB,mBAAvB,CAAf;EACA,UAAMC,MAAM,GAAGH,QAAQ,CAACE,aAAT,CAAuB,YAAvB,CAAf;EACAT,MAAAA,KAAK,CAACQ,MAAD,EAAS,QAAT,EAAmB,YAAM;EAAA,YAClBG,KADkB,GACRH,MADQ,CAClBG,KADkB;EAE1BD,QAAAA,MAAM,CAACE,SAAP,GAAmBD,KAAnB;EAEAb,QAAAA,GAAG,CAACgB,OAAJ,CAAYC,sBAAZ,CAAmCC,MAAnC,CAA0C;EACtCI,UAAAA,KAAK,EAAEP,MAAM,CAACF,KAAD;EADyB,SAA1C;EAGH,OAPI,CAAL;EASAb,MAAAA,GAAG,CAACmB,EAAJ,CAAO,+BAAP,EAAwC,UAAAD,MAAM,EAAI;EAC9C,YAAIR,MAAM,CAACG,KAAP,KAAiBK,MAAM,CAACI,KAA5B,EAAmC;EAC/BZ,UAAAA,MAAM,CAACG,KAAP,GAAeK,MAAM,CAACI,KAAtB;EACAV,UAAAA,MAAM,CAACE,SAAP,GAAmBI,MAAM,CAACI,KAA1B;EACH;EACJ,OALD;EAMH;EA7BE,GAAP;EA+BH;AAED,EAAO,SAASC,mBAAT,CAA6BvB,GAA7B,EAAkC;EAAA,MAEjCC,IAFiC,GAIjCD,GAJiC,CAEjCC,IAFiC;EAAA,MAGvBC,KAHuB,GAIjCF,GAJiC,CAGjCG,MAHiC,CAGvBD,KAHuB;EAKrC,SAAO;EACHE,IAAAA,IAAI,EAAE,6BADH;EAEHC,IAAAA,KAAK,EAAE,EAFJ;EAGHC,IAAAA,IAAI,4GAE8BL,IAAI,CAACM,GAAL,CAAS,kCAAT,CAF9B,qCAHD;EAQHC,IAAAA,OAAO,EAAE,iBAAAC,QAAQ,EAAI;EACjB,UAAMe,SAAS,GAAGf,QAAQ,CAACE,aAAT,CAAuB,sBAAvB,CAAlB;EACAT,MAAAA,KAAK,CAACsB,SAAD,EAAY,QAAZ,EAAsB,YAAM;EAC7BxB,QAAAA,GAAG,CAACgB,OAAJ,CAAYC,sBAAZ,CAAmCC,MAAnC,CAA0C;EACtCK,UAAAA,mBAAmB,EAAEC,SAAS,CAACC;EADO,SAA1C;EAGH,OAJI,CAAL;EAMAzB,MAAAA,GAAG,CAACmB,EAAJ,CAAO,+BAAP,EAAwC,UAAAD,MAAM,EAAI;EAC9C,YAAIM,SAAS,CAACC,OAAV,KAAsBP,MAAM,CAACK,mBAAjC,EAAsD;EAClDC,UAAAA,SAAS,CAACC,OAAV,GAAoBP,MAAM,CAACK,mBAA3B;EACH;EACJ,OAJD;EAKH;EArBE,GAAP;EAuBH;;ECjJM,SAASG,MAAT,CAAgBC,KAAhB,EAAuBC,KAAvB,EAA8BC,QAA9B,EAAwC;EAC3C,SAAOF,KAAK,CAACD,MAAN,CAAa,UAAAI,KAAK;EAAA,WAAIA,KAAK,CAACC,MAAN,KAAiBH,KAArB;EAAA,GAAlB,EAA8CI,GAA9C,CAAkDH,QAAlD,CAAP;EACH;AAED,EAAO,SAASI,OAAT,CAAiBC,GAAjB,EAAsBC,GAAtB,EAA2B;EAC9B,MAAMC,MAAM,GAAGF,GAAG,CAACG,qBAAJ,EAAf;EACA,SAAOF,GAAG,GAAGC,MAAM,CAACD,GAAD,CAAT,GAAiBC,MAA3B;EACH;AAED,EAAO,SAASE,WAAT,CAAqBX,KAArB,EAA4B;EAC/B,MAAMS,MAAM,GAAGT,KAAK,CAACY,IAAN,CAAW,UAAAT,KAAK,EAAI;EAC/B,WAAOA,KAAK,CAACU,IAAN,IAAcV,KAAK,CAACC,MAAN,KAAiB,MAAtC;EACH,GAFc,CAAf;;EAIA,MAAIK,MAAJ,EAAY;EAAA,QACAI,KADA,GACSJ,MADT,CACAI,IADA;EAERJ,IAAAA,MAAM,CAACI,IAAP,GAAc,IAAd;EACA,WAAOA,KAAP;EACH;;EAED,MAAMA,IAAI,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAb;EACAF,EAAAA,IAAI,CAACG,KAAL,CAAWC,OAAX;EAcA,SAAOJ,IAAP;EACH;;ECpCD,SAAS,eAAe,CAAC,GAAG,EAAE;IAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC;GACpC;;EAED,kBAAc,GAAG,eAAe;;ECJhC,SAAS,qBAAqB,CAAC,GAAG,EAAE,CAAC,EAAE;IACrC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,EAAE,GAAG,IAAI,CAAC;IACd,IAAI,EAAE,GAAG,KAAK,CAAC;IACf,IAAI,EAAE,GAAG,SAAS,CAAC;;IAEnB,IAAI;MACF,KAAK,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE;QAClF,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;;QAEpB,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM;OACnC;KACF,CAAC,OAAO,GAAG,EAAE;MACZ,EAAE,GAAG,IAAI,CAAC;MACV,EAAE,GAAG,GAAG,CAAC;KACV,SAAS;MACR,IAAI;QACF,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;OACjD,SAAS;QACR,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC;OAClB;KACF;;IAED,OAAO,IAAI,CAAC;GACb;;EAED,wBAAc,GAAG,qBAAqB;;EC1BtC,SAAS,gBAAgB,GAAG;IAC1B,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;GAC7E;;EAED,mBAAc,GAAG,gBAAgB;;ECEjC,SAAS,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE;IAC9B,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC;GACjF;;EAED,iBAAc,GAAG,cAAc;;ECVxB,SAASK,OAAT,CAAiBV,GAAjB,EAAsB;EACzB,UAAQA,GAAR;EACI,SAAK,CAAL;EACA,SAAK,CAAL;EACA,SAAK,CAAL;EACI,aAAO,QAAP;;EACJ,SAAK,CAAL;EACA,SAAK,CAAL;EACI,aAAO,QAAP;;EACJ;EACI,aAAO,IAAP;EATR;EAWH;AAED,EAAO,SAASW,yBAAT,CAAmCC,SAAnC,EAA8C;EACjD,MAAI,OAAOA,SAAP,KAAqB,QAAzB,EAAmC,OAAO,EAAP;EACnC,MAAMC,OAAO,GAAGD,SAAS,CAACE,KAAV,CAAgB,4BAAhB,CAAhB;EACA,SAAOD,OAAO,CAACE,MAAR,GACDF,OAAO,CAAChB,GAAR,CAAY,UAAAmB,IAAI,EAAI;EAAA,sBACQA,IAAI,CAACF,KAAL,CAAW,uBAAX,CADR;EAAA;EAAA,QACTG,OADS;EAAA,QACAC,IADA;;EAElB,QAAMC,IAAI,GAAGF,OAAO,CAACG,KAAR,CAAc,GAAd,CAAb;EACA,WAAOD,IAAI,CAACJ,MAAL,KAAgB,CAAhB,IAAqBG,IAAI,CAACG,IAAL,EAArB,GACD;EACEH,MAAAA,IAAI,EAAJA,IADF;EAEEI,MAAAA,IAAI,EAAE1C,MAAM,CAACuC,IAAI,CAAC,CAAD,CAAL,CAFd;EAGEI,MAAAA,IAAI,EAAEb,OAAO,CAAC9B,MAAM,CAACuC,IAAI,CAAC,CAAD,CAAL,CAAP,CAHf;EAIEjC,MAAAA,QAAQ,EAAEN,MAAM,CAACuC,IAAI,CAAC,CAAD,CAAL,CAJlB;EAKEK,MAAAA,KAAK,aAAM5C,MAAM,CAACuC,IAAI,CAAC,CAAD,CAAL,CAAN,CAAgBM,QAAhB,CAAyB,EAAzB,CAAN,CALP;EAMEC,MAAAA,SAAS,EAAE9C,MAAM,CAACuC,IAAI,CAAC,CAAD,CAAL,CANnB;EAOEQ,MAAAA,IAAI,EAAE/C,MAAM,CAACuC,IAAI,CAAC,CAAD,CAAL,CAPd;EAQES,MAAAA,MAAM,EAAET,IAAI,CAAC,CAAD,CARd;EASEU,MAAAA,KAAK,EAAEjD,MAAM,CAACuC,IAAI,CAAC,CAAD,CAAL;EATf,KADC,GAYD,IAZN;EAaH,GAhBC,CADC,GAkBD,EAlBN;EAmBH;AAED,EAAO,SAASW,yBAAT,CAAmCC,GAAnC,EAAwC;EAC3C,SAAOC,KAAK,CAACD,GAAD,CAAL,CACFE,IADE,CACG,UAAAC,GAAG;EAAA,WAAIA,GAAG,CAAChB,IAAJ,EAAJ;EAAA,GADN,EAEFe,IAFE,CAEG,UAAArB,SAAS,EAAI;EACf,WAAOD,yBAAyB,CAACC,SAAD,CAAhC;EACH,GAJE,CAAP;EAKH;;EC1CD,SAASuB,aAAT,CAAuBC,MAAvB,EAA+B;EAC3B,MAAIC,GAAG,GAAG,CAAV;EACA,MAAMC,MAAM,GAAG,EAAf;;EACA,OAAK,IAAIpE,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAGkE,MAAM,CAACrB,MAAnC,EAA2C7C,KAAK,IAAI,CAApD,EAAuD;EACnD,QAAM8C,IAAI,GAAGoB,MAAM,CAAClE,KAAD,CAAnB;;EACA,QAAIoE,MAAM,CAACtB,IAAI,CAACqB,GAAN,CAAV,EAAsB;EAClBC,MAAAA,MAAM,CAACtB,IAAI,CAACqB,GAAN,CAAN,CAAiBE,IAAjB,CAAsBvB,IAAtB;EACH,KAFD,MAEO;EACHsB,MAAAA,MAAM,CAACtB,IAAI,CAACqB,GAAN,CAAN,GAAmB,CAACrB,IAAD,CAAnB;EACH;EACJ;;EACD,MAAMwB,UAAU,GAAGC,MAAM,CAACC,IAAP,CAAYJ,MAAZ,CAAnB;EAEA,MAAIK,OAAO,GAAG,CAAd;;EACA,OAAK,IAAIzE,MAAK,GAAG,CAAjB,EAAoBA,MAAK,GAAGkE,MAAM,CAACrB,MAAnC,EAA2C7C,MAAK,IAAI,CAApD,EAAuD;EACnD,QAAM8C,KAAI,GAAGoB,MAAM,CAAClE,MAAD,CAAnB;EACA,QAAM0E,IAAI,GAAGR,MAAM,CAAClE,MAAK,GAAG,CAAT,CAAnB;EACA,QAAM2E,OAAO,GAAGD,IAAI,CAACP,GAAL,GAAWO,IAAI,CAACE,MAAhC;EACA,QAAMC,IAAI,GAAG/B,KAAI,CAACqB,GAAL,GAAWQ,OAAxB;;EACA,QAAIE,IAAI,GAAGJ,OAAX,EAAoB;EAChBN,MAAAA,GAAG,GAAGQ,OAAN;EACAF,MAAAA,OAAO,GAAGI,IAAV;EACH;EACJ;;EAED,MAAIV,GAAG,KAAK,CAAZ,EAAe;EACX,QAAIW,QAAQ,GAAG,CAAf;;EACA,SAAK,IAAI9E,OAAK,GAAG,CAAjB,EAAoBA,OAAK,GAAGsE,UAAU,CAACzB,MAAvC,EAA+C7C,OAAK,IAAI,CAAxD,EAA2D;EACvD,UAAI+E,QAAQ,GAAGb,MAAM,CAAC,CAAD,CAAN,CAAUc,KAAzB;EACA,UAAMC,MAAM,GAAGX,UAAU,CAACtE,OAAD,CAAzB;EACA,UAAMkF,QAAQ,GAAGd,MAAM,CAACa,MAAD,CAAvB;;EACA,WAAK,IAAIjF,OAAK,GAAG,CAAjB,EAAoBA,OAAK,GAAGkF,QAAQ,CAACrC,MAArC,EAA6C7C,OAAK,IAAI,CAAtD,EAAyD;EACrD,YAAMyB,KAAK,GAAGyD,QAAQ,CAAClF,OAAD,CAAtB;;EACA,YAAIyB,KAAK,CAAC0D,KAAN,GAAcJ,QAAlB,EAA4B;EACxBA,UAAAA,QAAQ,GAAGtD,KAAK,CAAC0D,KAAjB;EACH;EACJ;;EAED,UAAIJ,QAAQ,GAAGD,QAAf,EAAyB;EACrBA,QAAAA,QAAQ,GAAGC,QAAX;;EADqB,sCAETG,QAFS;;EAElBf,QAAAA,GAFkB,gBAElBA,GAFkB;EAGxB;EACJ;EACJ;;EAED,MAAIA,GAAG,KAAK,CAAZ,EAAe;EAAA,gCACHG,UAAU,CACbjD,MADG,CACI,UAACyB,IAAD,EAAO9C,KAAP,EAAiB;EACrB,aAAOA,KAAK,KAAK,CAAV,IAAeA,KAAK,KAAKsE,UAAU,CAACzB,MAAX,GAAoB,CAApD;EACH,KAHG,EAIHuC,IAJG,CAIE,UAACV,IAAD,EAAOW,IAAP,EAAgB;EAClB,aAAOjB,MAAM,CAACM,IAAD,CAAN,CAAa7B,MAAb,GAAsBuB,MAAM,CAACiB,IAAD,CAAN,CAAaxC,MAA1C;EACH,KANG,CADG;;EAAA;;EACVsB,IAAAA,GADU;EAQd;;EAED,SAAOA,GAAP;EACH;;AAED,EAAe,SAASmB,WAAT,CAAqBC,GAArB,EAA0B9D,KAA1B,EAAiC;EAAA,yCACV8D,GAAG,CAACC,MAAJ,CAAWC,MADD;EAAA,MACrCC,SADqC;EAAA,MAC1BC,YAD0B;;EAE5C,MAAMC,UAAU,GAAGhE,OAAO,CAAC2D,GAAG,CAAC5F,GAAJ,CAAQkG,QAAR,CAAiBC,OAAlB,CAA1B;EACA,MAAM5B,MAAM,GAAGqB,GAAG,CAACjE,KAAJ,CACVD,MADU,CAEP,UAAAyB,IAAI;EAAA,WACAA,IAAI,CAACO,IAAL,KAAc5B,KAAK,CAAC4B,IAApB,IACAP,IAAI,CAACpB,MAAL,KAAgB,MADhB,IAEAoB,IAAI,CAACX,IAFL,IAGAW,IAAI,CAACX,IAAL,CAAUG,KAAV,CAAgBtB,QAAhB,KAA6BS,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiBtB,QAH9C,IAIA+E,UAAU,CAACjD,IAAI,CAACX,IAAL,CAAUG,KAAV,CAAgB6B,GAAjB,CAAV,IAAmCyB,UAAU,CAAChB,MAAX,GAAoBe,YALvD;EAAA,GAFG,EASVhE,GATU,CASN,UAAAmB,IAAI,EAAI;EACT,QAAMkD,SAAS,GAAGpE,OAAO,CAACkB,IAAI,CAACX,IAAN,CAAzB;EADS,QAED6C,KAFC,GAEiBgB,SAFjB,CAEDhB,KAFC;EAAA,QAEMJ,MAFN,GAEiBoB,SAFjB,CAEMpB,MAFN;EAGT,QAAMT,GAAG,GAAG6B,SAAS,CAAC7B,GAAV,GAAgByB,UAAU,CAACzB,GAAvC;EACA,QAAM8B,IAAI,GAAGD,SAAS,CAACC,IAAV,GAAiBL,UAAU,CAACK,IAAzC;EACA,QAAMd,KAAK,GAAGS,UAAU,CAACZ,KAAX,GAAmBiB,IAAnB,GAA0BjB,KAAxC;EACA,WAAO;EAAEb,MAAAA,GAAG,EAAHA,GAAF;EAAO8B,MAAAA,IAAI,EAAJA,IAAP;EAAarB,MAAAA,MAAM,EAANA,MAAb;EAAqBI,MAAAA,KAAK,EAALA,KAArB;EAA4BG,MAAAA,KAAK,EAALA;EAA5B,KAAP;EACH,GAhBU,EAiBVC,IAjBU,CAiBL,UAACV,IAAD,EAAOW,IAAP,EAAgB;EAClB,WAAOX,IAAI,CAACP,GAAL,GAAWkB,IAAI,CAAClB,GAAvB;EACH,GAnBU,CAAf;;EAqBA,MAAID,MAAM,CAACrB,MAAP,KAAkB,CAAtB,EAAyB;EACrB,WAAO6C,SAAP;EACH;;EAEDxB,EAAAA,MAAM,CAACgC,OAAP,CAAe;EACX/B,IAAAA,GAAG,EAAE,CADM;EAEX8B,IAAAA,IAAI,EAAE,CAFK;EAGXd,IAAAA,KAAK,EAAE,CAHI;EAIXP,IAAAA,MAAM,EAAEc,SAJG;EAKXV,IAAAA,KAAK,EAAEY,UAAU,CAACZ;EALP,GAAf;EAQAd,EAAAA,MAAM,CAACG,IAAP,CAAY;EACRF,IAAAA,GAAG,EAAEyB,UAAU,CAAChB,MAAX,GAAoBe,YADjB;EAERM,IAAAA,IAAI,EAAE,CAFE;EAGRd,IAAAA,KAAK,EAAE,CAHC;EAIRP,IAAAA,MAAM,EAAEe,YAJA;EAKRX,IAAAA,KAAK,EAAEY,UAAU,CAACZ;EALV,GAAZ;EAQA,SAAOf,aAAa,CAACC,MAAD,CAApB;EACH;;MCnGoBiC;;;EACjB,mBAAYxG,GAAZ,EAAiB6F,MAAjB,EAAyB;EAAA;;EAAA;;EACrB7F,IAAAA,GAAG,CAACC,IAAJ,CAASwG,MAAT,CAAgBxG,IAAhB;EACAD,IAAAA,GAAG,CAAC0G,OAAJ,CAAYC,GAAZ,CAAgB5G,OAAhB;EACAC,IAAAA,GAAG,CAAC0G,OAAJ,CAAYC,GAAZ,CAAgBvF,IAAhB;EACApB,IAAAA,GAAG,CAAC0G,OAAJ,CAAYC,GAAZ,CAAgBrF,KAAhB;EACAtB,IAAAA,GAAG,CAAC0G,OAAJ,CAAYC,GAAZ,CAAgBpF,mBAAhB;EACA,SAAKvB,GAAL,GAAWA,GAAX;EACA,SAAK2B,KAAL,GAAa,EAAb;EACA,SAAKkE,MAAL,GAAc,EAAd;EACA,SAAK3E,MAAL,CAAY2E,MAAZ;EACA,SAAKe,MAAL,GAAc,KAAd;EACA,SAAKC,mBAAL,GAA2B,IAA3B;EACA,SAAKC,QAAL,GAAgB9G,GAAG,CAACkG,QAAJ,CAAaY,QAA7B;EACA9G,IAAAA,GAAG,CAACmB,EAAJ,CAAO,YAAP,EAAqB,KAAK4F,KAAL,CAAWC,IAAX,CAAgB,IAAhB,CAArB;EACAhH,IAAAA,GAAG,CAACmB,EAAJ,CAAO,eAAP,EAAwB,KAAK4F,KAAL,CAAWC,IAAX,CAAgB,IAAhB,CAAxB;EACAhH,IAAAA,GAAG,CAACmB,EAAJ,CAAO,aAAP,EAAsB,KAAK8F,IAAL,CAAUD,IAAV,CAAe,IAAf,CAAtB;EACAhH,IAAAA,GAAG,CAACmB,EAAJ,CAAO,eAAP,EAAwB,KAAK8F,IAAL,CAAUD,IAAV,CAAe,IAAf,CAAxB;EACAhH,IAAAA,GAAG,CAACmB,EAAJ,CAAO,QAAP,EAAiB,KAAK+F,MAAL,CAAYF,IAAZ,CAAiB,IAAjB,CAAjB;EACAhH,IAAAA,GAAG,CAACmB,EAAJ,CAAO,SAAP,EAAkB,KAAK8F,IAAL,CAAUD,IAAV,CAAe,IAAf,CAAlB;;EACA,QAAI,OAAO,KAAKnB,MAAL,CAAYsB,OAAnB,KAA+B,UAAnC,EAA+C;EAC3C,WAAKtB,MAAL,CAAYsB,OAAZ,GAAsB/C,IAAtB,CAA2B,UAAAG,MAAM,EAAI;EACjCA,QAAAA,MAAM,CAAC6C,OAAP,CAAe,KAAI,CAACC,IAAL,CAAUL,IAAV,CAAe,KAAf,CAAf;EACAhH,QAAAA,GAAG,CAACqH,IAAJ,CAAS,+BAAT;EACH,OAHD;EAIH,KALD,MAKO,IAAI,OAAO,KAAKxB,MAAL,CAAYsB,OAAnB,KAA+B,QAAnC,EAA6C;EAChDlD,MAAAA,yBAAyB,CAAC,KAAK4B,MAAL,CAAYsB,OAAb,CAAzB,CAA+C/C,IAA/C,CAAoD,UAAAG,MAAM,EAAI;EAC1DA,QAAAA,MAAM,CAAC6C,OAAP,CAAe,KAAI,CAACC,IAAL,CAAUL,IAAV,CAAe,KAAf,CAAf;EACAhH,QAAAA,GAAG,CAACqH,IAAJ,CAAS,+BAAT;EACH,OAHD;EAIH,KALM,MAKA;EACH,WAAKxB,MAAL,CAAYsB,OAAZ,CAAoBC,OAApB,CAA4B,KAAKC,IAAL,CAAUL,IAAV,CAAe,IAAf,CAA5B;EACAhH,MAAAA,GAAG,CAACqH,IAAJ,CAAS,+BAAT;EACH;EACJ;;;;6BA0BMxB,QAAQ;EAAA,kCAIP,KAAK7F,GAAL,CAASsH,WAJF;EAAA,UAEEC,KAFF,yBAEPC,KAFO,CAEED,KAFF;EAAA,UAGPE,SAHO,yBAGPA,SAHO;EAKX,WAAK5B,MAAL,GAAcjB,MAAM,CAAC8C,MAAP,CAAc,EAAd,EAAkBlB,OAAO,CAACX,MAA1B,EAAkC,KAAKA,MAAvC,EAA+CA,MAA/C,CAAd;EACA4B,MAAAA,SAAS,CAAC,KAAK5B,MAAN,EAAcW,OAAO,CAACmB,MAAtB,CAAT;EACA,WAAK9B,MAAL,CAAYvE,KAAZ,GAAoBiG,KAAK,CAAC,KAAK1B,MAAL,CAAYvE,KAAb,EAAoB,CAApB,EAAuB,EAAvB,CAAzB;EACA,WAAKuE,MAAL,CAAY+B,SAAZ,GAAwBL,KAAK,CAAC,KAAK1B,MAAL,CAAY+B,SAAb,EAAwB,EAAxB,EAA4B,GAA5B,CAA7B;EACA,WAAK/B,MAAL,CAAYC,MAAZ,CAAmB,CAAnB,IAAwByB,KAAK,CAAC,KAAK1B,MAAL,CAAYC,MAAZ,CAAmB,CAAnB,CAAD,EAAwB,CAAxB,EAA2B,GAA3B,CAA7B;EACA,WAAKD,MAAL,CAAYC,MAAZ,CAAmB,CAAnB,IAAwByB,KAAK,CAAC,KAAK1B,MAAL,CAAYC,MAAZ,CAAmB,CAAnB,CAAD,EAAwB,CAAxB,EAA2B,GAA3B,CAA7B;EACA,WAAKD,MAAL,CAAY9F,OAAZ,GAAsBwH,KAAK,CAAC,KAAK1B,MAAL,CAAY9F,OAAb,EAAsB,CAAtB,EAAyB,CAAzB,CAA3B;EACA,WAAK8F,MAAL,CAAYxE,QAAZ,GAAuBkG,KAAK,CAAC,KAAK1B,MAAL,CAAYxE,QAAb,EAAuB,EAAvB,EAA2B,EAA3B,CAA5B;EACA,WAAKrB,GAAL,CAASqH,IAAT,CAAc,+BAAd,EAA+C,KAAKxB,MAApD;EACH;;;kCAEU;EACPnE,MAAAA,MAAM,CAAC,KAAKC,KAAN,EAAa,MAAb,EAAqB,UAAAG,KAAK,EAAI;EAChCA,QAAAA,KAAK,CAACC,MAAN,GAAe,MAAf;EACAD,QAAAA,KAAK,CAAC+F,cAAN,GAAuBC,IAAI,CAACC,GAAL,EAAvB;;EACA,gBAAQjG,KAAK,CAAC4B,IAAd;EACI,eAAK,QAAL;EACI5B,YAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiBqF,SAAjB,wBAA2C,CAAClG,KAAK,CAACmG,UAAlD;EACAnG,YAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiBuF,UAAjB,uBAA2CpG,KAAK,CAACqG,SAAjD;EACA;;EACJ;EACI;EANR;EAQH,OAXK,CAAN;EAYH;;;gCAES;EAAA,UACEhC,OADF,GACc,KAAKnG,GAAL,CAASkG,QADvB,CACEC,OADF;EAENzE,MAAAA,MAAM,CAAC,KAAKC,KAAN,EAAa,MAAb,EAAqB,UAAAG,KAAK,EAAI;EAChCA,QAAAA,KAAK,CAACC,MAAN,GAAe,MAAf;;EACA,gBAAQD,KAAK,CAAC4B,IAAd;EACI,eAAK,QAAL;EAAe;EAAA,6BACsCzB,OAAO,CAACkE,OAAD,CAD7C;EAAA,kBACGiC,UADH,YACH9B,IADG;EAAA,kBACsB+B,WADtB,YACehD,KADf;;EAAA,8BAEiBpD,OAAO,CAACH,KAAK,CAACU,IAAP,CAFxB;EAAA,kBAEG8F,SAFH,aAEHhC,IAFG;;EAGX,kBAAMiC,UAAU,GAAGF,WAAW,IAAIC,SAAS,GAAGF,UAAhB,CAAX,GAAyC,CAA5D;EACAtG,cAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiBqF,SAAjB,wBAA2C,CAACO,UAA5C;EACAzG,cAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiBuF,UAAjB,GAA8B,wBAA9B;EACA;EACH;;EACD;EACI;EAVR;EAYH,OAdK,CAAN;EAeH;;;+BAEQ;EAAA,UACG/B,OADH,GACe,KAAKnG,GAAL,CAASkG,QADxB,CACGC,OADH;EAEL,UAAMmC,SAAS,GAAGrG,OAAO,CAACkE,OAAD,EAAU,OAAV,CAAzB;EACAzE,MAAAA,MAAM,CAAC,KAAKC,KAAN,EAAa,MAAb,EAAqB,UAAAG,KAAK,EAAI;EAChC,YAAIA,KAAK,CAACU,IAAV,EAAgB;EACZV,UAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiB6F,MAAjB,GAA0B,MAA1B;EACA1G,UAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiB2D,IAAjB,aAA2BgC,SAA3B;EACAxG,UAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiB8F,UAAjB,GAA8B,KAA9B;EACA3G,UAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiBqF,SAAjB,GAA6B,iDAA7B;EACAlG,UAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiBuF,UAAjB,GAA8B,wBAA9B;EACH;EACJ,OARK,CAAN;EASH;;;+BAEQ;EAAA;;EAAA,sBAID,KAAKlI,GAJJ;EAAA,UAED0I,MAFC,aAEDA,MAFC;EAAA,UAGWvC,OAHX,aAGDD,QAHC,CAGWC,OAHX;EAKL,WAAKU,mBAAL,GAA2B8B,MAAM,CAACC,qBAAP,CAA6B,YAAM;EAC1D,YAAIF,MAAM,CAACG,OAAX,EAAoB;EAChB,cAAMP,SAAS,GAAGrG,OAAO,CAACkE,OAAD,EAAU,OAAV,CAAzB;EAEAzE,UAAAA,MAAM,CAAC,MAAI,CAACC,KAAN,EAAa,MAAb,EAAqB,UAAAG,KAAK,EAAI;EAChCA,YAAAA,KAAK,CAACqG,SAAN,IAAmB,CAACL,IAAI,CAACC,GAAL,KAAajG,KAAK,CAAC+F,cAApB,IAAsC,IAAzD;EACA/F,YAAAA,KAAK,CAAC+F,cAAN,GAAuBC,IAAI,CAACC,GAAL,EAAvB;;EACA,gBAAIjG,KAAK,CAACqG,SAAN,IAAmB,CAAvB,EAA0B;EACtBrG,cAAAA,KAAK,CAACC,MAAN,GAAe,MAAf;EACAD,cAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiB6F,MAAjB,GAA0B,MAA1B;EACA1G,cAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiB2D,IAAjB,aAA2BgC,SAA3B;EACAxG,cAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiB8F,UAAjB,GAA8B,KAA9B;EACA3G,cAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiBqF,SAAjB,GAA6B,iDAA7B;EACAlG,cAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiBuF,UAAjB,GAA8B,wBAA9B;EACH;EACJ,WAXK,CAAN;;EAaA,UAAA,MAAI,CAACvG,KAAL,CACKD,MADL,CACY,UAAAI,KAAK,EAAI;EACb,mBACI4G,MAAM,CAACI,WAAP,GAAqB,GAArB,IAA4BhH,KAAK,CAAC2B,IAAlC,IACA3B,KAAK,CAAC2B,IAAN,IAAciF,MAAM,CAACI,WAAP,GAAqB,GADnC,IAEAhH,KAAK,CAACC,MAAN,KAAiB,MAHrB;EAKH,WAPL,EAQKqF,OARL,CAQa,UAAAtF,KAAK,EAAI;EACdA,YAAAA,KAAK,CAACU,IAAN,GAAaF,WAAW,CAAC,MAAI,CAACX,KAAN,CAAxB;;EACA,YAAA,MAAI,CAACmF,QAAL,CAAciC,WAAd,CAA0BjH,KAAK,CAACU,IAAhC;;EACAV,YAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiB5C,OAAjB,GAA2B,MAAI,CAAC8F,MAAL,CAAY9F,OAAvC;EACA+B,YAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiBtB,QAAjB,aAA+B,MAAI,CAACwE,MAAL,CAAYxE,QAA3C;EACAS,YAAAA,KAAK,CAACU,IAAN,CAAW1B,SAAX,GAAuBgB,KAAK,CAACuB,IAA7B;EACAvB,YAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiBgB,KAAjB,GAAyB7B,KAAK,CAAC6B,KAA/B;EACA7B,YAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiB6F,MAAjB,GAA0B1G,KAAK,CAAC0G,MAAN,uBAA4B1G,KAAK,CAAC6B,KAAlC,IAA4C,MAAtE;EACA7B,YAAAA,KAAK,CAACqG,SAAN,GACI,MAAI,CAACtC,MAAL,CAAYtE,mBAAZ,IAAmCmH,MAAM,CAACM,iBAA1C,GACM,MAAI,CAACnD,MAAL,CAAYvE,KAAZ,GAAoBP,MAAM,CAAC2H,MAAM,CAACM,iBAAR,CADhC,GAEM,MAAI,CAACnD,MAAL,CAAYvE,KAHtB;EAIAQ,YAAAA,KAAK,CAAC+F,cAAN,GAAuBC,IAAI,CAACC,GAAL,EAAvB;EACA,gBAAMkB,UAAU,GAAGhH,OAAO,CAACH,KAAK,CAACU,IAAP,EAAa,OAAb,CAA1B;EACA,gBAAM0G,QAAQ,GAAGvD,WAAW,CAAC,MAAD,EAAO7D,KAAP,CAA5B;EACAA,YAAAA,KAAK,CAACC,MAAN,GAAe,MAAf;;EACA,oBAAQD,KAAK,CAAC4B,IAAd;EACI,mBAAK,QAAL;EAAe;EACX5B,kBAAAA,KAAK,CAACmG,UAAN,GAAmBK,SAAS,GAAGW,UAAZ,GAAyB,CAA5C;EACAnH,kBAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiB2D,IAAjB,aAA2BgC,SAA3B;EACAxG,kBAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiB6B,GAAjB,aAA0B0E,QAA1B;EACApH,kBAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiBqF,SAAjB,wBAA2C,CAAClG,KAAK,CAACmG,UAAlD;EACAnG,kBAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiBuF,UAAjB,uBAA2CpG,KAAK,CAACqG,SAAjD;EACA;EACH;;EACD,mBAAK,QAAL;EACIrG,gBAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiB6B,GAAjB,aAA0B0E,QAA1B;EACApH,gBAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiB2D,IAAjB,GAAwB,KAAxB;EACAxE,gBAAAA,KAAK,CAACU,IAAN,CAAWG,KAAX,CAAiB8F,UAAjB,cAAkCQ,UAAU,GAAG,CAA/C;EACA;;EACJ;EACI;EAfR;EAiBH,WAzCL;EA0CH;;EAED,YAAI,CAAC,MAAI,CAACrC,MAAV,EAAkB;EACd,UAAA,MAAI,CAACH,MAAL;EACH;EACJ,OAhE0B,CAA3B;EAiEH;;;6BAEM;EACH,WAAKG,MAAL,GAAc,IAAd;EACA,WAAKuC,OAAL;EACAR,MAAAA,MAAM,CAACS,oBAAP,CAA4B,KAAKvC,mBAAjC;EACA,WAAK7G,GAAL,CAASqH,IAAT,CAAc,6BAAd;EACH;;;8BAEO;EACJ,WAAKT,MAAL,GAAc,KAAd;EACA;EACA,WAAKH,MAAL;EACA,WAAKzG,GAAL,CAASqH,IAAT,CAAc,8BAAd;EACH;;;6BAEM;EACH,WAAKP,QAAL,CAAcnE,KAAd,GAAsB,OAAtB;EACA,WAAK3C,GAAL,CAASqH,IAAT,CAAc,6BAAd;EACH;;;6BAEM;EACH,WAAKP,QAAL,CAAcnE,KAAd,GAAsB,MAAtB;EACA,WAAK3C,GAAL,CAASqH,IAAT,CAAc,6BAAd;EACH;;;2BAEIvF,OAAO;EAAA,uBACyB,KAAK9B,GAD9B;EAAA,UACAqJ,MADA,cACAA,MADA;EAAA,UACQX,MADR,cACQA,MADR;EAAA,UACgBzI,IADhB,cACgBA,IADhB;;EAER,UAAI,CAAC6B,KAAK,CAACuB,IAAN,CAAWG,IAAX,EAAL,EAAwB;EACpB6F,QAAAA,MAAM,CAACC,IAAP,CAAYrJ,IAAI,CAACM,GAAL,CAAS,4BAAT,CAAZ;EACA;EACH;;EAED,UAAIuB,KAAK,CAACuB,IAAN,CAAWH,MAAX,GAAoB,KAAK2C,MAAL,CAAY+B,SAApC,EAA+C;EAC3CyB,QAAAA,MAAM,CAACC,IAAP,WAAerJ,IAAI,CAACM,GAAL,CAAS,yCAAT,CAAf,cAAsE,KAAKsF,MAAL,CAAY+B,SAAlF;EACA;EACH;;EAED,UAAI,OAAO9F,KAAK,CAAC2B,IAAb,KAAsB,QAA1B,EAAoC;EAChC3B,QAAAA,KAAK,CAAC2B,IAAN,GAAaiF,MAAM,CAACI,WAApB;EACH;;EAED,WAAKnH,KAAL,CAAW+C,IAAX;EACIhB,QAAAA,IAAI,EAAE;EADV,SAEO5B,KAFP;EAGIC,QAAAA,MAAM,EAAE,MAHZ;EAIIS,QAAAA,IAAI,EAAE,IAJV;EAKI2F,QAAAA,SAAS,EAAE,CALf;EAMIN,QAAAA,cAAc,EAAE,CANpB;EAOII,QAAAA,UAAU,EAAE;EAPhB;EASH;;;0BAjNmB;EAChB,aAAO;EACHd,QAAAA,OAAO,EAAE,EADN;EAEH7F,QAAAA,KAAK,EAAE,CAFJ;EAGHsG,QAAAA,SAAS,EAAE,EAHR;EAIH9B,QAAAA,MAAM,EAAE,CAAC,EAAD,EAAK,GAAL,CAJL;EAKH/F,QAAAA,OAAO,EAAE,CALN;EAMHsB,QAAAA,QAAQ,EAAE,EANP;EAOHE,QAAAA,mBAAmB,EAAE;EAPlB,OAAP;EASH;;;0BAEmB;EAChB,aAAO;EACH4F,QAAAA,OAAO,EAAE,uBADN;EAEH7F,QAAAA,KAAK,EAAE,QAFJ;EAGHsG,QAAAA,SAAS,EAAE,QAHR;EAIH9B,QAAAA,MAAM,EAAE,OAJL;EAKH/F,QAAAA,OAAO,EAAE,QALN;EAMHsB,QAAAA,QAAQ,EAAE,QANP;EAOHE,QAAAA,mBAAmB,EAAE;EAPlB,OAAP;EASH;;;;;;EC9DU,SAASN,sBAAT,CAAgC4E,MAAhC,EAAwC;EACnD,SAAO,UAAA7F,GAAG,EAAI;EACV,QAAMmH,OAAO,GAAG,IAAIX,OAAJ,CAAYxG,GAAZ,EAAiB6F,MAAjB,CAAhB;EACA,WAAO;EACHzF,MAAAA,IAAI,EAAE,wBADH;EAEHiH,MAAAA,IAAI,EAAEF,OAAO,CAACE,IAAR,CAAaL,IAAb,CAAkBG,OAAlB,CAFH;EAGHjG,MAAAA,MAAM,EAAEiG,OAAO,CAACjG,MAAR,CAAe8F,IAAf,CAAoBG,OAApB,CAHL;EAIHoC,MAAAA,IAAI,EAAEpC,OAAO,CAACoC,IAAR,CAAavC,IAAb,CAAkBG,OAAlB,CAJH;EAKHmC,MAAAA,IAAI,EAAEnC,OAAO,CAACmC,IAAR,CAAatC,IAAb,CAAkBG,OAAlB;EALH,KAAP;EAOH,GATD;EAUH;;;;;;;;"} \ No newline at end of file diff --git a/docs/uncompiled/artplayer.css b/docs/uncompiled/artplayer.css index eb89c7502..a9f4603f9 100644 --- a/docs/uncompiled/artplayer.css +++ b/docs/uncompiled/artplayer.css @@ -8,7 +8,7 @@ .artplayer-video-player .artplayer-bottom{position:absolute;z-index:60;left:0;right:0;bottom:0;height:100px;padding:60px 10px 0;opacity:0;visibility:hidden;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;pointer-events:none;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom}.artplayer-video-player .artplayer-bottom .artplayer-progress{position:relative;pointer-events:all}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress{position:relative;height:5px;padding:1px 0;cursor:pointer}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner{position:relative;height:100%;background:hsla(0,0%,100%,.2)}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;height:100%;width:0;background:hsla(0,0%,100%,.4)}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-played{position:absolute;z-index:20;left:0;top:0;right:0;bottom:0;height:100%;width:0}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{position:absolute;z-index:30;left:0;top:0;right:0;bottom:0;height:0}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{display:inline-block;position:absolute;left:0;top:0;width:7px;height:3px;background:#fff;border-radius:3px}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{display:none;position:absolute;z-index:40;top:-5px;left:-6.5px;width:13px;height:13px;border-radius:50%}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator.art-show-indicator{display:block}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-tip{display:none;position:absolute;z-index:50;top:-25px;left:0;height:20px;padding:0 5px;line-height:20px;color:#fff;font-size:12px;text-align:center;background:rgba(0,0,0,.7);border-radius:3px;font-weight:700;white-space:nowrap}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-indicator,.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-tip{display:block}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-thumbnails{display:none;position:absolute;bottom:8px;left:0;pointer-events:none;background-color:rgba(0,0,0,.7)}.artplayer-video-player .artplayer-bottom .artplayer-controls{position:relative;pointer-events:all;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:36px}.artplayer-video-player .artplayer-bottom .artplayer-controls .artplayer-controls-left,.artplayer-video-player .artplayer-bottom .artplayer-controls .artplayer-controls-right{display:-webkit-box;display:-ms-flexbox;display:flex}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control{opacity:.9;font-size:12px;height:36px;min-width:36px;line-height:36px;text-align:center;cursor:pointer}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control .art-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;float:left;height:36px;width:36px}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control:hover{opacity:1}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel{position:relative;float:left;width:0;height:100%;-webkit-transition:margin .2s cubic-bezier(.4,0,1,1),width .2s cubic-bezier(.4,0,1,1);transition:margin .2s cubic-bezier(.4,0,1,1),width .2s cubic-bezier(.4,0,1,1);overflow:hidden}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle{position:absolute;top:50%;left:0;width:12px;height:12px;border-radius:12px;margin-top:-6px;background:#fff}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:before{left:-54px;background:#fff}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:after{left:6px;background:hsla(0,0%,100%,.2)}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:after,.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:before{content:"";position:absolute;display:block;top:50%;height:3px;margin-top:-2px;width:60px}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume:hover .art-volume-panel{width:60px}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-time{padding:0 10px}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-quality{position:relative;z-index:30;padding:0 10px}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-quality .art-qualitys{display:none;position:absolute;left:-15px;bottom:35px;width:100px;padding:5px 0;text-align:center;color:#fff;background:rgba(0,0,0,.7);border-radius:3px}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-quality .art-qualitys .art-quality-item{height:30px;line-height:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px rgba(0,0,0,.5)}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-quality .art-qualitys .art-quality-item:hover{background-color:hsla(0,0%,100%,.1)}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-quality:hover .art-qualitys{display:block}.artplayer-video-player.artplayer-controls-show .artplayer-bottom,.artplayer-video-player.artplayer-hover .artplayer-bottom{opacity:1;visibility:visible}.artplayer-video-player.artplayer-destroy .art-progress-indicator,.artplayer-video-player.artplayer-destroy .art-progress-tip,.artplayer-video-player.artplayer-error .art-progress-indicator,.artplayer-video-player.artplayer-error .art-progress-tip{display:none!important} .artplayer-video-player .artplayer-notice{display:none;font-size:14px;position:absolute;z-index:80;left:0;top:0;padding:10px;width:100%;pointer-events:none}.artplayer-video-player .artplayer-notice .artplayer-notice-inner{display:inline-block;padding:5px 10px;color:#fff;background:rgba(0,0,0,.6);border-radius:3px}.artplayer-video-player.artplayer-notice-show .artplayer-notice{display:-webkit-box;display:-ms-flexbox;display:flex} .artplayer-video-player .artplayer-contextmenu{display:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:absolute;z-index:120;left:0;top:0;min-width:200px;padding:5px 0;background:rgba(0,0,0,.8);border-radius:3px}.artplayer-video-player .artplayer-contextmenu .art-contextmenu{cursor:pointer;font-size:13px;display:block;color:#fff;padding:7px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px rgba(0,0,0,.5);border-bottom:1px solid hsla(0,0%,100%,.1)}.artplayer-video-player .artplayer-contextmenu .art-contextmenu a{color:#fff;text-decoration:none}.artplayer-video-player .artplayer-contextmenu .art-contextmenu span{display:inline-block;padding:0 7px}.artplayer-video-player .artplayer-contextmenu .art-contextmenu span.current,.artplayer-video-player .artplayer-contextmenu .art-contextmenu span:hover{color:#00c9ff}.artplayer-video-player .artplayer-contextmenu .art-contextmenu:hover{background-color:hsla(0,0%,100%,.1)}.artplayer-video-player .artplayer-contextmenu .art-contextmenu:last-child{border-bottom:none}.artplayer-video-player.artplayer-contextmenu-show .artplayer-contextmenu{display:-webkit-box;display:-ms-flexbox;display:flex} -.artplayer-video-player .artplayer-setting{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;z-index:90;left:0;top:0;height:100%;width:100%;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden}.artplayer-video-player .artplayer-setting .artplayer-setting-inner{position:absolute;top:0;right:-50%;bottom:0;width:300px;height:100%;font-size:12px;background:rgba(0,0,0,.8);-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;overflow:hidden}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body{overflow-y:auto;width:100%;height:100%}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting{border-bottom:1px solid hsla(0,0%,100%,.1);padding:12px 20px}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting .art-setting-header{margin-bottom:10px}.artplayer-video-player .artplayer-setting .art-setting-radio{display:-webkit-box;display:-ms-flexbox;display:flex}.artplayer-video-player .artplayer-setting .art-setting-radio .art-radio-item{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 2px}.artplayer-video-player .artplayer-setting .art-setting-radio .art-radio-item button{height:22px;width:100%;border:none;outline:none;color:#fff;background:hsla(0,0%,100%,.2);border-radius:2px}.artplayer-video-player .artplayer-setting .art-setting-radio .art-radio-item.current button{background:#00a1d6}.artplayer-video-player .artplayer-setting .art-setting-range input{width:100%;height:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff}.artplayer-video-player.artplayer-setting-show .artplayer-setting{opacity:1;visibility:visible;pointer-events:all}.artplayer-video-player.artplayer-setting-show .artplayer-setting .artplayer-setting-inner{right:0} +.artplayer-video-player .artplayer-setting{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;z-index:90;left:0;top:0;height:100%;width:100%;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden}.artplayer-video-player .artplayer-setting .artplayer-setting-inner{position:absolute;top:0;right:-50%;bottom:0;width:300px;height:100%;font-size:12px;background:rgba(0,0,0,.8);-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;overflow:hidden}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body{overflow-y:auto;width:100%;height:100%}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting{border-bottom:1px solid hsla(0,0%,100%,.1);padding:12px 20px}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting .art-setting-header{margin-bottom:10px}.artplayer-video-player .artplayer-setting .art-setting-radio{display:-webkit-box;display:-ms-flexbox;display:flex}.artplayer-video-player .artplayer-setting .art-setting-radio .art-radio-item{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 2px}.artplayer-video-player .artplayer-setting .art-setting-radio .art-radio-item button{height:22px;width:100%;border:none;outline:none;color:#fff;background:hsla(0,0%,100%,.2);border-radius:2px}.artplayer-video-player .artplayer-setting .art-setting-radio .art-radio-item.current button{background:#00a1d6}.artplayer-video-player .artplayer-setting .art-setting-range input{width:100%;height:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff}.artplayer-video-player .artplayer-setting .art-setting-checkbox input{height:14px;width:14px;margin-right:5px}.artplayer-video-player.artplayer-setting-show .artplayer-setting{opacity:1;visibility:visible;pointer-events:all}.artplayer-video-player.artplayer-setting-show .artplayer-setting .artplayer-setting-inner{right:0} .artplayer-video-player .artplayer-info{display:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:absolute;left:10px;top:10px;z-index:100;width:350px;min-height:150px;padding:10px;color:#fff;font-size:12px;font-family:Noto Sans CJK SC DemiLight,Roboto,Segoe UI,Tahoma,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;background:rgba(0,0,0,.7)}.artplayer-video-player .artplayer-info .art-info-item{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:5px}.artplayer-video-player .artplayer-info .art-info-item .art-info-title{width:100px;text-align:right}.artplayer-video-player .artplayer-info .art-info-item .art-info-content{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:5px}.artplayer-video-player .artplayer-info .artplayer-info-close{position:absolute;top:5px;right:5px;cursor:pointer}.artplayer-video-player.artplayer-info-show .artplayer-info{display:-webkit-box;display:-ms-flexbox;display:flex} .artplayer-video-player.artplayer-hide-cursor *{cursor:none!important} .artplayer-video-player[data-aspect-ratio] video{-webkit-box-sizing:content-box;box-sizing:content-box;-o-object-fit:fill;object-fit:fill} diff --git a/docs/uncompiled/artplayer.css.map b/docs/uncompiled/artplayer.css.map index 6baa9c942..dc529de93 100644 --- a/docs/uncompiled/artplayer.css.map +++ b/docs/uncompiled/artplayer.css.map @@ -1 +1 @@ -{"version":3,"sources":["artplayer.scss","video.scss","subtitle.scss","danmuku.scss","layers.scss","mask.scss","loading.scss","bottom.scss","notice.scss","contextmenu.scss","setting.scss","info.scss","hideCursor.scss","aspectRatio.scss","fullscreenWeb.scss","pip.scss","autoSize.scss","flip.scss","balloon.min.css"],"names":[],"mappings":"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","file":"artplayer.css","sourcesContent":[".artplayer-video-player {\n display: flex;\n position: relative;\n margin: 0 auto;\n z-index: 10;\n width: 100%;\n height: 100%;\n outline: 0;\n zoom: 1;\n font-family: Roboto, Arial, Helvetica, sans-serif;\n color: #eee;\n text-align: left;\n direction: ltr;\n font-size: 14px;\n line-height: 1.3;\n user-select: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n touch-action: manipulation;\n -ms-high-contrast-adjust: none; }\n .artplayer-video-player * {\n margin: 0;\n padding: 0;\n box-sizing: border-box; }\n .artplayer-video-player .art-icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n line-height: 1.5; }\n .artplayer-video-player .art-icon svg {\n fill: #fff; }\n",".artplayer-video-player .artplayer-video {\n position: absolute;\n z-index: 10;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n background-color: #000;\n cursor: pointer; }\n",".artplayer-video-player .artplayer-subtitle {\n position: absolute;\n z-index: 20;\n bottom: 40px;\n width: 100%;\n padding: 0 20px;\n text-align: center;\n color: #fff;\n font-size: 20px;\n pointer-events: none;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5); }\n .artplayer-video-player .artplayer-subtitle p {\n margin: 5px 0; }\n\n.artplayer-video-player.artplayer-subtitle-hide .artplayer-subtitle {\n display: none; }\n",".artplayer-video-player .artplayer-danmuku {\n position: absolute;\n z-index: 30;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n pointer-events: none; }\n",".artplayer-video-player .artplayer-layers {\n position: absolute;\n z-index: 40;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n pointer-events: none; }\n .artplayer-video-player .artplayer-layers .art-layer {\n pointer-events: all; }\n\n.artplayer-video-player.artplayer-layers-hide .artplayer-layers {\n display: none; }\n",".artplayer-video-player .artplayer-mask {\n display: none;\n position: absolute;\n z-index: 50;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n pointer-events: none; }\n .artplayer-video-player .artplayer-mask .art-state {\n position: absolute;\n right: 30px;\n bottom: 65px;\n opacity: .6; }\n\n.artplayer-video-player.artplayer-mask-show .artplayer-mask {\n display: flex; }\n",".artplayer-video-player .artplayer-loading {\n display: none;\n position: absolute;\n z-index: 70;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n pointer-events: none; }\n\n.artplayer-video-player.artplayer-loading-show .artplayer-loading {\n display: flex; }\n",".artplayer-video-player .artplayer-bottom {\n position: absolute;\n z-index: 60;\n left: 0;\n right: 0;\n bottom: 0;\n height: 100px;\n padding: 60px 10px 0;\n opacity: 0;\n visibility: hidden;\n transition: all .2s ease-in-out;\n pointer-events: none;\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress {\n position: relative;\n pointer-events: all; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress {\n position: relative;\n height: 5px;\n padding: 1px 0;\n cursor: pointer; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner {\n position: relative;\n height: 100%;\n background: rgba(255, 255, 255, 0.2); }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-loaded {\n position: absolute;\n z-index: 10;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n height: 100%;\n width: 0;\n background: rgba(255, 255, 255, 0.4); }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-played {\n position: absolute;\n z-index: 20;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n height: 100%;\n width: 0; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight {\n position: absolute;\n z-index: 30;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n height: 0; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span {\n display: inline-block;\n position: absolute;\n left: 0;\n top: 0;\n width: 7px;\n height: 3px;\n background: #fff;\n border-radius: 3px; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator {\n display: none;\n position: absolute;\n z-index: 40;\n top: -5px;\n left: -6.5px;\n width: 13px;\n height: 13px;\n border-radius: 50%; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator.art-show-indicator {\n display: block; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-tip {\n display: none;\n position: absolute;\n z-index: 50;\n top: -25px;\n left: 0;\n height: 20px;\n padding: 0 5px;\n line-height: 20px;\n color: #fff;\n font-size: 12px;\n text-align: center;\n background: rgba(0, 0, 0, 0.7);\n border-radius: 3px;\n font-weight: bold;\n white-space: nowrap; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-indicator, .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-tip {\n display: block; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-thumbnails {\n display: none;\n position: absolute;\n bottom: 8px;\n left: 0;\n pointer-events: none;\n background-color: rgba(0, 0, 0, 0.7); }\n .artplayer-video-player .artplayer-bottom .artplayer-controls {\n position: relative;\n pointer-events: all;\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 36px; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .artplayer-controls-left, .artplayer-video-player .artplayer-bottom .artplayer-controls .artplayer-controls-right {\n display: flex; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control {\n opacity: .9;\n font-size: 12px;\n height: 36px;\n min-width: 36px;\n line-height: 36px;\n text-align: center;\n cursor: pointer; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control .art-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n float: left;\n height: 36px;\n width: 36px; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control:hover {\n opacity: 1; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel {\n position: relative;\n float: left;\n width: 0;\n height: 100%;\n transition: margin 0.2s cubic-bezier(0.4, 0, 1, 1), width 0.2s cubic-bezier(0.4, 0, 1, 1);\n overflow: hidden; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle {\n position: absolute;\n top: 50%;\n left: 0;\n width: 12px;\n height: 12px;\n border-radius: 12px;\n margin-top: -6px;\n background: #fff; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle::before {\n left: -54px;\n background: #fff; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle::after {\n left: 6px;\n background: rgba(255, 255, 255, 0.2); }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle::before, .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle::after {\n content: '';\n position: absolute;\n display: block;\n top: 50%;\n height: 3px;\n margin-top: -2px;\n width: 60px; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume:hover .art-volume-panel {\n width: 60px; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-time {\n padding: 0 10px; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-quality {\n position: relative;\n z-index: 30;\n padding: 0 10px; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-quality .art-qualitys {\n display: none;\n position: absolute;\n left: -15px;\n bottom: 35px;\n width: 100px;\n padding: 5px 0;\n text-align: center;\n color: #fff;\n background: rgba(0, 0, 0, 0.7);\n border-radius: 3px; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-quality .art-qualitys .art-quality-item {\n height: 30px;\n line-height: 30px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5); }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-quality .art-qualitys .art-quality-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-quality:hover .art-qualitys {\n display: block; }\n\n.artplayer-video-player.artplayer-controls-show .artplayer-bottom, .artplayer-video-player.artplayer-hover .artplayer-bottom {\n opacity: 1;\n visibility: visible; }\n\n.artplayer-video-player.artplayer-error .art-progress-indicator, .artplayer-video-player.artplayer-error .art-progress-tip, .artplayer-video-player.artplayer-destroy .art-progress-indicator, .artplayer-video-player.artplayer-destroy .art-progress-tip {\n display: none !important; }\n",".artplayer-video-player .artplayer-notice {\n display: none;\n font-size: 14px;\n position: absolute;\n z-index: 80;\n left: 0;\n top: 0;\n padding: 10px;\n width: 100%;\n pointer-events: none; }\n .artplayer-video-player .artplayer-notice .artplayer-notice-inner {\n display: inline-block;\n padding: 5px 10px;\n color: #fff;\n background: rgba(0, 0, 0, 0.6);\n border-radius: 3px; }\n\n.artplayer-video-player.artplayer-notice-show .artplayer-notice {\n display: flex; }\n",".artplayer-video-player .artplayer-contextmenu {\n display: none;\n flex-direction: column;\n position: absolute;\n z-index: 120;\n left: 0;\n top: 0;\n min-width: 200px;\n padding: 5px 0;\n background: rgba(0, 0, 0, 0.8);\n border-radius: 3px; }\n .artplayer-video-player .artplayer-contextmenu .art-contextmenu {\n cursor: pointer;\n font-size: 13px;\n display: block;\n color: #fff;\n padding: 7px 10px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\n border-bottom: 1px solid rgba(255, 255, 255, 0.1); }\n .artplayer-video-player .artplayer-contextmenu .art-contextmenu a {\n color: #fff;\n text-decoration: none; }\n .artplayer-video-player .artplayer-contextmenu .art-contextmenu span {\n display: inline-block;\n padding: 0 7px; }\n .artplayer-video-player .artplayer-contextmenu .art-contextmenu span:hover, .artplayer-video-player .artplayer-contextmenu .art-contextmenu span.current {\n color: #00c9ff; }\n .artplayer-video-player .artplayer-contextmenu .art-contextmenu:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .artplayer-video-player .artplayer-contextmenu .art-contextmenu:last-child {\n border-bottom: none; }\n\n.artplayer-video-player.artplayer-contextmenu-show .artplayer-contextmenu {\n display: flex; }\n",".artplayer-video-player .artplayer-setting {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n z-index: 90;\n left: 0;\n top: 0;\n height: 100%;\n width: 100%;\n opacity: 0;\n visibility: hidden;\n pointer-events: none;\n overflow: hidden; }\n .artplayer-video-player .artplayer-setting .artplayer-setting-inner {\n position: absolute;\n top: 0;\n right: -50%;\n bottom: 0;\n width: 300px;\n height: 100%;\n font-size: 12px;\n background: rgba(0, 0, 0, 0.8);\n transition: all 0.2s ease-in-out;\n overflow: hidden; }\n .artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body {\n overflow-y: auto;\n width: 100%;\n height: 100%; }\n .artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting {\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n padding: 12px 20px 12px 20px; }\n .artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting .art-setting-header {\n margin-bottom: 10px; }\n .artplayer-video-player .artplayer-setting .art-setting-radio {\n display: flex; }\n .artplayer-video-player .artplayer-setting .art-setting-radio .art-radio-item {\n flex: 1;\n padding: 0 2px; }\n .artplayer-video-player .artplayer-setting .art-setting-radio .art-radio-item button {\n height: 22px;\n width: 100%;\n border: none;\n outline: none;\n color: #fff;\n background: rgba(255, 255, 255, 0.2);\n border-radius: 2px; }\n .artplayer-video-player .artplayer-setting .art-setting-radio .art-radio-item.current button {\n background: #00a1d6; }\n .artplayer-video-player .artplayer-setting .art-setting-range input {\n width: 100%;\n height: 3px;\n outline: none;\n appearance: none;\n background-color: #fff; }\n\n.artplayer-video-player.artplayer-setting-show .artplayer-setting {\n opacity: 1;\n visibility: visible;\n pointer-events: all; }\n .artplayer-video-player.artplayer-setting-show .artplayer-setting .artplayer-setting-inner {\n right: 0; }\n",".artplayer-video-player .artplayer-info {\n display: none;\n flex-direction: column;\n position: absolute;\n left: 10px;\n top: 10px;\n z-index: 100;\n width: 350px;\n min-height: 150px;\n padding: 10px;\n color: #fff;\n font-size: 12px;\n font-family: Noto Sans CJK SC DemiLight,Roboto,Segoe UI,Tahoma,Arial,Helvetica,sans-serif;\n -webkit-font-smoothing: antialiased;\n background: rgba(0, 0, 0, 0.7); }\n .artplayer-video-player .artplayer-info .art-info-item {\n display: flex;\n margin-bottom: 5px; }\n .artplayer-video-player .artplayer-info .art-info-item .art-info-title {\n width: 100px;\n text-align: right; }\n .artplayer-video-player .artplayer-info .art-info-item .art-info-content {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n padding-left: 5px; }\n .artplayer-video-player .artplayer-info .artplayer-info-close {\n position: absolute;\n top: 5px;\n right: 5px;\n cursor: pointer; }\n\n.artplayer-video-player.artplayer-info-show .artplayer-info {\n display: flex; }\n",".artplayer-video-player.artplayer-hide-cursor * {\n cursor: none !important; }\n",".artplayer-video-player[data-aspect-ratio] video {\n box-sizing: content-box;\n object-fit: fill; }\n",".artplayer-video-player.artplayer-web-fullscreen {\n position: fixed;\n z-index: 9999;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0; }\n",".artplayer-video-player .artplayer-pip-header {\n display: none;\n position: absolute;\n z-index: 110;\n left: 0;\n top: 0;\n right: 0;\n height: 35px;\n line-height: 35px;\n color: #fff;\n background: rgba(0, 0, 0, 0.5);\n align-items: center;\n justify-content: space-between;\n opacity: 0;\n visibility: hidden;\n transition: all .2s ease-in-out; }\n .artplayer-video-player .artplayer-pip-header .artplayer-pip-title {\n flex: 1;\n padding: 0 10px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: move; }\n .artplayer-video-player .artplayer-pip-header .artplayer-pip-close {\n width: 35px;\n text-align: center;\n font-size: 22px;\n cursor: pointer; }\n\n.artplayer-video-player.is-dragging {\n opacity: 0.7; }\n\n.artplayer-video-player.artplayer-pip {\n position: fixed;\n z-index: 9999;\n right: 20px;\n bottom: 20px;\n width: 400px;\n height: 225px;\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.2); }\n .artplayer-video-player.artplayer-pip .artplayer-pip-header {\n display: flex; }\n .artplayer-video-player.artplayer-pip.artplayer-hover .artplayer-pip-header {\n opacity: 1;\n visibility: visible; }\n .artplayer-video-player.artplayer-pip .artplayer-mask {\n display: flex;\n align-items: center;\n justify-content: center; }\n .artplayer-video-player.artplayer-pip .artplayer-mask .art-playBig {\n position: static; }\n .artplayer-video-player.artplayer-pip .artplayer-contextmenu,\n .artplayer-video-player.artplayer-pip .artplayer-bottom,\n .artplayer-video-player.artplayer-pip .artplayer-danmu,\n .artplayer-video-player.artplayer-pip .artplayer-info,\n .artplayer-video-player.artplayer-pip .artplayer-layers,\n .artplayer-video-player.artplayer-pip .artplayer-notice,\n .artplayer-video-player.artplayer-pip .artplayer-setting,\n .artplayer-video-player.artplayer-pip .artplayer-subtitle {\n display: none !important; }\n",".artplayer-auto-size {\n display: flex;\n align-items: center;\n justify-content: center; }\n",".artplayer-video-player[data-flip=\"horizontal\"] .artplayer-video {\n transform: scaleX(-1); }\n\n.artplayer-video-player[data-flip=\"vertical\"] .artplayer-video {\n transform: scaleY(-1); }\n","button[data-balloon]{overflow:visible}[data-balloon]{position:relative;cursor:pointer}[data-balloon]:after{filter:alpha(opactiy=0);-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;-webkit-transition:all 0.18s ease-out 0.18s;-moz-transition:all 0.18s ease-out 0.18s;-ms-transition:all 0.18s ease-out 0.18s;-o-transition:all 0.18s ease-out 0.18s;transition:all 0.18s ease-out 0.18s;font-family:sans-serif !important;font-weight:normal !important;font-style:normal !important;text-shadow:none !important;font-size:12px !important;background:rgba(17,17,17,0.9);border-radius:4px;color:#fff;content:attr(data-balloon);padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[data-balloon]:before{background:no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17,17,17,0.9)%22%20transform%3D%22rotate(0)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");background-size:100% auto;width:18px;height:6px;filter:alpha(opactiy=0);-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;-webkit-transition:all 0.18s ease-out 0.18s;-moz-transition:all 0.18s ease-out 0.18s;-ms-transition:all 0.18s ease-out 0.18s;-o-transition:all 0.18s ease-out 0.18s;transition:all 0.18s ease-out 0.18s;content:'';position:absolute;z-index:10}[data-balloon]:hover:before,[data-balloon]:hover:after,[data-balloon][data-balloon-visible]:before,[data-balloon][data-balloon-visible]:after{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]:before,[data-balloon][data-balloon-blunt]:after{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}[data-balloon][data-balloon-pos=\"up\"]:after{bottom:100%;left:50%;margin-bottom:11px;-webkit-transform:translate(-50%, 10px);-moz-transform:translate(-50%, 10px);-ms-transform:translate(-50%, 10px);transform:translate(-50%, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=\"up\"]:before{bottom:100%;left:50%;margin-bottom:5px;-webkit-transform:translate(-50%, 10px);-moz-transform:translate(-50%, 10px);-ms-transform:translate(-50%, 10px);transform:translate(-50%, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=\"up\"]:hover:after,[data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:after{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0)}[data-balloon][data-balloon-pos=\"up\"]:hover:before,[data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:before{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0)}[data-balloon][data-balloon-pos=\"up-left\"]:after{bottom:100%;left:0;margin-bottom:11px;-webkit-transform:translate(0, 10px);-moz-transform:translate(0, 10px);-ms-transform:translate(0, 10px);transform:translate(0, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=\"up-left\"]:before{bottom:100%;left:5px;margin-bottom:5px;-webkit-transform:translate(0, 10px);-moz-transform:translate(0, 10px);-ms-transform:translate(0, 10px);transform:translate(0, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=\"up-left\"]:hover:after,[data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:after{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos=\"up-left\"]:hover:before,[data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:before{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos=\"up-right\"]:after{bottom:100%;right:0;margin-bottom:11px;-webkit-transform:translate(0, 10px);-moz-transform:translate(0, 10px);-ms-transform:translate(0, 10px);transform:translate(0, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=\"up-right\"]:before{bottom:100%;right:5px;margin-bottom:5px;-webkit-transform:translate(0, 10px);-moz-transform:translate(0, 10px);-ms-transform:translate(0, 10px);transform:translate(0, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=\"up-right\"]:hover:after,[data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:after{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos=\"up-right\"]:hover:before,[data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:before{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos='down']:after{left:50%;margin-top:11px;top:100%;-webkit-transform:translate(-50%, -10px);-moz-transform:translate(-50%, -10px);-ms-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%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17,17,17,0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");background-size:100% auto;width:18px;height:6px;left:50%;margin-top:5px;top:100%;-webkit-transform:translate(-50%, -10px);-moz-transform:translate(-50%, -10px);-ms-transform:translate(-50%, -10px);transform:translate(-50%, -10px)}[data-balloon][data-balloon-pos='down']:hover:after,[data-balloon][data-balloon-pos='down'][data-balloon-visible]:after{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0)}[data-balloon][data-balloon-pos='down']:hover:before,[data-balloon][data-balloon-pos='down'][data-balloon-visible]:before{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0)}[data-balloon][data-balloon-pos='down-left']:after{left:0;margin-top:11px;top:100%;-webkit-transform:translate(0, -10px);-moz-transform:translate(0, -10px);-ms-transform:translate(0, -10px);transform:translate(0, -10px)}[data-balloon][data-balloon-pos='down-left']:before{background:no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17,17,17,0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");background-size:100% auto;width:18px;height:6px;left:5px;margin-top:5px;top:100%;-webkit-transform:translate(0, -10px);-moz-transform:translate(0, -10px);-ms-transform:translate(0, -10px);transform:translate(0, -10px)}[data-balloon][data-balloon-pos='down-left']:hover:after,[data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:after{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos='down-left']:hover:before,[data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:before{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos='down-right']:after{right:0;margin-top:11px;top:100%;-webkit-transform:translate(0, -10px);-moz-transform:translate(0, -10px);-ms-transform:translate(0, -10px);transform:translate(0, -10px)}[data-balloon][data-balloon-pos='down-right']:before{background:no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17,17,17,0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");background-size:100% auto;width:18px;height:6px;right:5px;margin-top:5px;top:100%;-webkit-transform:translate(0, -10px);-moz-transform:translate(0, -10px);-ms-transform:translate(0, -10px);transform:translate(0, -10px)}[data-balloon][data-balloon-pos='down-right']:hover:after,[data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:after{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos='down-right']:hover:before,[data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:before{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos='left']:after{margin-right:11px;right:100%;top:50%;-webkit-transform:translate(10px, -50%);-moz-transform:translate(10px, -50%);-ms-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%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17,17,17,0.9)%22%20transform%3D%22rotate(-90 18 18)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");background-size:100% auto;width:6px;height:18px;margin-right:5px;right:100%;top:50%;-webkit-transform:translate(10px, -50%);-moz-transform:translate(10px, -50%);-ms-transform:translate(10px, -50%);transform:translate(10px, -50%)}[data-balloon][data-balloon-pos='left']:hover:after,[data-balloon][data-balloon-pos='left'][data-balloon-visible]:after{-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%);transform:translate(0, -50%)}[data-balloon][data-balloon-pos='left']:hover:before,[data-balloon][data-balloon-pos='left'][data-balloon-visible]:before{-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%);transform:translate(0, -50%)}[data-balloon][data-balloon-pos='right']:after{left:100%;margin-left:11px;top:50%;-webkit-transform:translate(-10px, -50%);-moz-transform:translate(-10px, -50%);-ms-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%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17,17,17,0.9)%22%20transform%3D%22rotate(90 6 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");background-size:100% auto;width:6px;height:18px;left:100%;margin-left:5px;top:50%;-webkit-transform:translate(-10px, -50%);-moz-transform:translate(-10px, -50%);-ms-transform:translate(-10px, -50%);transform:translate(-10px, -50%)}[data-balloon][data-balloon-pos='right']:hover:after,[data-balloon][data-balloon-pos='right'][data-balloon-visible]:after{-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%);transform:translate(0, -50%)}[data-balloon][data-balloon-pos='right']:hover:before,[data-balloon][data-balloon-pos='right'][data-balloon-visible]:before{-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%);transform:translate(0, -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%}\n"]} \ No newline at end of file +{"version":3,"sources":["artplayer.scss","video.scss","subtitle.scss","danmuku.scss","layers.scss","mask.scss","loading.scss","bottom.scss","notice.scss","contextmenu.scss","setting.scss","info.scss","hideCursor.scss","aspectRatio.scss","fullscreenWeb.scss","pip.scss","autoSize.scss","flip.scss","balloon.min.css"],"names":[],"mappings":"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","file":"artplayer.css","sourcesContent":[".artplayer-video-player {\n display: flex;\n position: relative;\n margin: 0 auto;\n z-index: 10;\n width: 100%;\n height: 100%;\n outline: 0;\n zoom: 1;\n font-family: Roboto, Arial, Helvetica, sans-serif;\n color: #eee;\n text-align: left;\n direction: ltr;\n font-size: 14px;\n line-height: 1.3;\n user-select: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n touch-action: manipulation;\n -ms-high-contrast-adjust: none; }\n .artplayer-video-player * {\n margin: 0;\n padding: 0;\n box-sizing: border-box; }\n .artplayer-video-player .art-icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n line-height: 1.5; }\n .artplayer-video-player .art-icon svg {\n fill: #fff; }\n",".artplayer-video-player .artplayer-video {\n position: absolute;\n z-index: 10;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n background-color: #000;\n cursor: pointer; }\n",".artplayer-video-player .artplayer-subtitle {\n position: absolute;\n z-index: 20;\n bottom: 40px;\n width: 100%;\n padding: 0 20px;\n text-align: center;\n color: #fff;\n font-size: 20px;\n pointer-events: none;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5); }\n .artplayer-video-player .artplayer-subtitle p {\n margin: 5px 0; }\n\n.artplayer-video-player.artplayer-subtitle-hide .artplayer-subtitle {\n display: none; }\n",".artplayer-video-player .artplayer-danmuku {\n position: absolute;\n z-index: 30;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n pointer-events: none; }\n",".artplayer-video-player .artplayer-layers {\n position: absolute;\n z-index: 40;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n pointer-events: none; }\n .artplayer-video-player .artplayer-layers .art-layer {\n pointer-events: all; }\n\n.artplayer-video-player.artplayer-layers-hide .artplayer-layers {\n display: none; }\n",".artplayer-video-player .artplayer-mask {\n display: none;\n position: absolute;\n z-index: 50;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n pointer-events: none; }\n .artplayer-video-player .artplayer-mask .art-state {\n position: absolute;\n right: 30px;\n bottom: 65px;\n opacity: .6; }\n\n.artplayer-video-player.artplayer-mask-show .artplayer-mask {\n display: flex; }\n",".artplayer-video-player .artplayer-loading {\n display: none;\n position: absolute;\n z-index: 70;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n pointer-events: none; }\n\n.artplayer-video-player.artplayer-loading-show .artplayer-loading {\n display: flex; }\n",".artplayer-video-player .artplayer-bottom {\n position: absolute;\n z-index: 60;\n left: 0;\n right: 0;\n bottom: 0;\n height: 100px;\n padding: 60px 10px 0;\n opacity: 0;\n visibility: hidden;\n transition: all .2s ease-in-out;\n pointer-events: none;\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress {\n position: relative;\n pointer-events: all; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress {\n position: relative;\n height: 5px;\n padding: 1px 0;\n cursor: pointer; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner {\n position: relative;\n height: 100%;\n background: rgba(255, 255, 255, 0.2); }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-loaded {\n position: absolute;\n z-index: 10;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n height: 100%;\n width: 0;\n background: rgba(255, 255, 255, 0.4); }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-played {\n position: absolute;\n z-index: 20;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n height: 100%;\n width: 0; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight {\n position: absolute;\n z-index: 30;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n height: 0; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span {\n display: inline-block;\n position: absolute;\n left: 0;\n top: 0;\n width: 7px;\n height: 3px;\n background: #fff;\n border-radius: 3px; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator {\n display: none;\n position: absolute;\n z-index: 40;\n top: -5px;\n left: -6.5px;\n width: 13px;\n height: 13px;\n border-radius: 50%; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator.art-show-indicator {\n display: block; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-tip {\n display: none;\n position: absolute;\n z-index: 50;\n top: -25px;\n left: 0;\n height: 20px;\n padding: 0 5px;\n line-height: 20px;\n color: #fff;\n font-size: 12px;\n text-align: center;\n background: rgba(0, 0, 0, 0.7);\n border-radius: 3px;\n font-weight: bold;\n white-space: nowrap; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-indicator, .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-tip {\n display: block; }\n .artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-thumbnails {\n display: none;\n position: absolute;\n bottom: 8px;\n left: 0;\n pointer-events: none;\n background-color: rgba(0, 0, 0, 0.7); }\n .artplayer-video-player .artplayer-bottom .artplayer-controls {\n position: relative;\n pointer-events: all;\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 36px; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .artplayer-controls-left, .artplayer-video-player .artplayer-bottom .artplayer-controls .artplayer-controls-right {\n display: flex; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control {\n opacity: .9;\n font-size: 12px;\n height: 36px;\n min-width: 36px;\n line-height: 36px;\n text-align: center;\n cursor: pointer; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control .art-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n float: left;\n height: 36px;\n width: 36px; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control:hover {\n opacity: 1; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel {\n position: relative;\n float: left;\n width: 0;\n height: 100%;\n transition: margin 0.2s cubic-bezier(0.4, 0, 1, 1), width 0.2s cubic-bezier(0.4, 0, 1, 1);\n overflow: hidden; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle {\n position: absolute;\n top: 50%;\n left: 0;\n width: 12px;\n height: 12px;\n border-radius: 12px;\n margin-top: -6px;\n background: #fff; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle::before {\n left: -54px;\n background: #fff; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle::after {\n left: 6px;\n background: rgba(255, 255, 255, 0.2); }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle::before, .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle::after {\n content: '';\n position: absolute;\n display: block;\n top: 50%;\n height: 3px;\n margin-top: -2px;\n width: 60px; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume:hover .art-volume-panel {\n width: 60px; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-time {\n padding: 0 10px; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-quality {\n position: relative;\n z-index: 30;\n padding: 0 10px; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-quality .art-qualitys {\n display: none;\n position: absolute;\n left: -15px;\n bottom: 35px;\n width: 100px;\n padding: 5px 0;\n text-align: center;\n color: #fff;\n background: rgba(0, 0, 0, 0.7);\n border-radius: 3px; }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-quality .art-qualitys .art-quality-item {\n height: 30px;\n line-height: 30px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5); }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-quality .art-qualitys .art-quality-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-quality:hover .art-qualitys {\n display: block; }\n\n.artplayer-video-player.artplayer-controls-show .artplayer-bottom, .artplayer-video-player.artplayer-hover .artplayer-bottom {\n opacity: 1;\n visibility: visible; }\n\n.artplayer-video-player.artplayer-error .art-progress-indicator, .artplayer-video-player.artplayer-error .art-progress-tip, .artplayer-video-player.artplayer-destroy .art-progress-indicator, .artplayer-video-player.artplayer-destroy .art-progress-tip {\n display: none !important; }\n",".artplayer-video-player .artplayer-notice {\n display: none;\n font-size: 14px;\n position: absolute;\n z-index: 80;\n left: 0;\n top: 0;\n padding: 10px;\n width: 100%;\n pointer-events: none; }\n .artplayer-video-player .artplayer-notice .artplayer-notice-inner {\n display: inline-block;\n padding: 5px 10px;\n color: #fff;\n background: rgba(0, 0, 0, 0.6);\n border-radius: 3px; }\n\n.artplayer-video-player.artplayer-notice-show .artplayer-notice {\n display: flex; }\n",".artplayer-video-player .artplayer-contextmenu {\n display: none;\n flex-direction: column;\n position: absolute;\n z-index: 120;\n left: 0;\n top: 0;\n min-width: 200px;\n padding: 5px 0;\n background: rgba(0, 0, 0, 0.8);\n border-radius: 3px; }\n .artplayer-video-player .artplayer-contextmenu .art-contextmenu {\n cursor: pointer;\n font-size: 13px;\n display: block;\n color: #fff;\n padding: 7px 10px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\n border-bottom: 1px solid rgba(255, 255, 255, 0.1); }\n .artplayer-video-player .artplayer-contextmenu .art-contextmenu a {\n color: #fff;\n text-decoration: none; }\n .artplayer-video-player .artplayer-contextmenu .art-contextmenu span {\n display: inline-block;\n padding: 0 7px; }\n .artplayer-video-player .artplayer-contextmenu .art-contextmenu span:hover, .artplayer-video-player .artplayer-contextmenu .art-contextmenu span.current {\n color: #00c9ff; }\n .artplayer-video-player .artplayer-contextmenu .art-contextmenu:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .artplayer-video-player .artplayer-contextmenu .art-contextmenu:last-child {\n border-bottom: none; }\n\n.artplayer-video-player.artplayer-contextmenu-show .artplayer-contextmenu {\n display: flex; }\n",".artplayer-video-player .artplayer-setting {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n z-index: 90;\n left: 0;\n top: 0;\n height: 100%;\n width: 100%;\n opacity: 0;\n visibility: hidden;\n pointer-events: none;\n overflow: hidden; }\n .artplayer-video-player .artplayer-setting .artplayer-setting-inner {\n position: absolute;\n top: 0;\n right: -50%;\n bottom: 0;\n width: 300px;\n height: 100%;\n font-size: 12px;\n background: rgba(0, 0, 0, 0.8);\n transition: all 0.2s ease-in-out;\n overflow: hidden; }\n .artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body {\n overflow-y: auto;\n width: 100%;\n height: 100%; }\n .artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting {\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n padding: 12px 20px 12px 20px; }\n .artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting .art-setting-header {\n margin-bottom: 10px; }\n .artplayer-video-player .artplayer-setting .art-setting-radio {\n display: flex; }\n .artplayer-video-player .artplayer-setting .art-setting-radio .art-radio-item {\n flex: 1;\n padding: 0 2px; }\n .artplayer-video-player .artplayer-setting .art-setting-radio .art-radio-item button {\n height: 22px;\n width: 100%;\n border: none;\n outline: none;\n color: #fff;\n background: rgba(255, 255, 255, 0.2);\n border-radius: 2px; }\n .artplayer-video-player .artplayer-setting .art-setting-radio .art-radio-item.current button {\n background: #00a1d6; }\n .artplayer-video-player .artplayer-setting .art-setting-range input {\n width: 100%;\n height: 3px;\n outline: none;\n appearance: none;\n background-color: #fff; }\n .artplayer-video-player .artplayer-setting .art-setting-checkbox input {\n height: 14px;\n width: 14px;\n margin-right: 5px; }\n\n.artplayer-video-player.artplayer-setting-show .artplayer-setting {\n opacity: 1;\n visibility: visible;\n pointer-events: all; }\n .artplayer-video-player.artplayer-setting-show .artplayer-setting .artplayer-setting-inner {\n right: 0; }\n",".artplayer-video-player .artplayer-info {\n display: none;\n flex-direction: column;\n position: absolute;\n left: 10px;\n top: 10px;\n z-index: 100;\n width: 350px;\n min-height: 150px;\n padding: 10px;\n color: #fff;\n font-size: 12px;\n font-family: Noto Sans CJK SC DemiLight,Roboto,Segoe UI,Tahoma,Arial,Helvetica,sans-serif;\n -webkit-font-smoothing: antialiased;\n background: rgba(0, 0, 0, 0.7); }\n .artplayer-video-player .artplayer-info .art-info-item {\n display: flex;\n margin-bottom: 5px; }\n .artplayer-video-player .artplayer-info .art-info-item .art-info-title {\n width: 100px;\n text-align: right; }\n .artplayer-video-player .artplayer-info .art-info-item .art-info-content {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n padding-left: 5px; }\n .artplayer-video-player .artplayer-info .artplayer-info-close {\n position: absolute;\n top: 5px;\n right: 5px;\n cursor: pointer; }\n\n.artplayer-video-player.artplayer-info-show .artplayer-info {\n display: flex; }\n",".artplayer-video-player.artplayer-hide-cursor * {\n cursor: none !important; }\n",".artplayer-video-player[data-aspect-ratio] video {\n box-sizing: content-box;\n object-fit: fill; }\n",".artplayer-video-player.artplayer-web-fullscreen {\n position: fixed;\n z-index: 9999;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0; }\n",".artplayer-video-player .artplayer-pip-header {\n display: none;\n position: absolute;\n z-index: 110;\n left: 0;\n top: 0;\n right: 0;\n height: 35px;\n line-height: 35px;\n color: #fff;\n background: rgba(0, 0, 0, 0.5);\n align-items: center;\n justify-content: space-between;\n opacity: 0;\n visibility: hidden;\n transition: all .2s ease-in-out; }\n .artplayer-video-player .artplayer-pip-header .artplayer-pip-title {\n flex: 1;\n padding: 0 10px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: move; }\n .artplayer-video-player .artplayer-pip-header .artplayer-pip-close {\n width: 35px;\n text-align: center;\n font-size: 22px;\n cursor: pointer; }\n\n.artplayer-video-player.is-dragging {\n opacity: 0.7; }\n\n.artplayer-video-player.artplayer-pip {\n position: fixed;\n z-index: 9999;\n right: 20px;\n bottom: 20px;\n width: 400px;\n height: 225px;\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.2); }\n .artplayer-video-player.artplayer-pip .artplayer-pip-header {\n display: flex; }\n .artplayer-video-player.artplayer-pip.artplayer-hover .artplayer-pip-header {\n opacity: 1;\n visibility: visible; }\n .artplayer-video-player.artplayer-pip .artplayer-mask {\n display: flex;\n align-items: center;\n justify-content: center; }\n .artplayer-video-player.artplayer-pip .artplayer-mask .art-playBig {\n position: static; }\n .artplayer-video-player.artplayer-pip .artplayer-contextmenu,\n .artplayer-video-player.artplayer-pip .artplayer-bottom,\n .artplayer-video-player.artplayer-pip .artplayer-danmu,\n .artplayer-video-player.artplayer-pip .artplayer-info,\n .artplayer-video-player.artplayer-pip .artplayer-layers,\n .artplayer-video-player.artplayer-pip .artplayer-notice,\n .artplayer-video-player.artplayer-pip .artplayer-setting,\n .artplayer-video-player.artplayer-pip .artplayer-subtitle {\n display: none !important; }\n",".artplayer-auto-size {\n display: flex;\n align-items: center;\n justify-content: center; }\n",".artplayer-video-player[data-flip=\"horizontal\"] .artplayer-video {\n transform: scaleX(-1); }\n\n.artplayer-video-player[data-flip=\"vertical\"] .artplayer-video {\n transform: scaleY(-1); }\n","button[data-balloon]{overflow:visible}[data-balloon]{position:relative;cursor:pointer}[data-balloon]:after{filter:alpha(opactiy=0);-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;-webkit-transition:all 0.18s ease-out 0.18s;-moz-transition:all 0.18s ease-out 0.18s;-ms-transition:all 0.18s ease-out 0.18s;-o-transition:all 0.18s ease-out 0.18s;transition:all 0.18s ease-out 0.18s;font-family:sans-serif !important;font-weight:normal !important;font-style:normal !important;text-shadow:none !important;font-size:12px !important;background:rgba(17,17,17,0.9);border-radius:4px;color:#fff;content:attr(data-balloon);padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[data-balloon]:before{background:no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17,17,17,0.9)%22%20transform%3D%22rotate(0)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");background-size:100% auto;width:18px;height:6px;filter:alpha(opactiy=0);-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;-webkit-transition:all 0.18s ease-out 0.18s;-moz-transition:all 0.18s ease-out 0.18s;-ms-transition:all 0.18s ease-out 0.18s;-o-transition:all 0.18s ease-out 0.18s;transition:all 0.18s ease-out 0.18s;content:'';position:absolute;z-index:10}[data-balloon]:hover:before,[data-balloon]:hover:after,[data-balloon][data-balloon-visible]:before,[data-balloon][data-balloon-visible]:after{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]:before,[data-balloon][data-balloon-blunt]:after{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}[data-balloon][data-balloon-pos=\"up\"]:after{bottom:100%;left:50%;margin-bottom:11px;-webkit-transform:translate(-50%, 10px);-moz-transform:translate(-50%, 10px);-ms-transform:translate(-50%, 10px);transform:translate(-50%, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=\"up\"]:before{bottom:100%;left:50%;margin-bottom:5px;-webkit-transform:translate(-50%, 10px);-moz-transform:translate(-50%, 10px);-ms-transform:translate(-50%, 10px);transform:translate(-50%, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=\"up\"]:hover:after,[data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:after{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0)}[data-balloon][data-balloon-pos=\"up\"]:hover:before,[data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:before{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0)}[data-balloon][data-balloon-pos=\"up-left\"]:after{bottom:100%;left:0;margin-bottom:11px;-webkit-transform:translate(0, 10px);-moz-transform:translate(0, 10px);-ms-transform:translate(0, 10px);transform:translate(0, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=\"up-left\"]:before{bottom:100%;left:5px;margin-bottom:5px;-webkit-transform:translate(0, 10px);-moz-transform:translate(0, 10px);-ms-transform:translate(0, 10px);transform:translate(0, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=\"up-left\"]:hover:after,[data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:after{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos=\"up-left\"]:hover:before,[data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:before{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos=\"up-right\"]:after{bottom:100%;right:0;margin-bottom:11px;-webkit-transform:translate(0, 10px);-moz-transform:translate(0, 10px);-ms-transform:translate(0, 10px);transform:translate(0, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=\"up-right\"]:before{bottom:100%;right:5px;margin-bottom:5px;-webkit-transform:translate(0, 10px);-moz-transform:translate(0, 10px);-ms-transform:translate(0, 10px);transform:translate(0, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=\"up-right\"]:hover:after,[data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:after{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos=\"up-right\"]:hover:before,[data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:before{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos='down']:after{left:50%;margin-top:11px;top:100%;-webkit-transform:translate(-50%, -10px);-moz-transform:translate(-50%, -10px);-ms-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%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17,17,17,0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");background-size:100% auto;width:18px;height:6px;left:50%;margin-top:5px;top:100%;-webkit-transform:translate(-50%, -10px);-moz-transform:translate(-50%, -10px);-ms-transform:translate(-50%, -10px);transform:translate(-50%, -10px)}[data-balloon][data-balloon-pos='down']:hover:after,[data-balloon][data-balloon-pos='down'][data-balloon-visible]:after{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0)}[data-balloon][data-balloon-pos='down']:hover:before,[data-balloon][data-balloon-pos='down'][data-balloon-visible]:before{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0)}[data-balloon][data-balloon-pos='down-left']:after{left:0;margin-top:11px;top:100%;-webkit-transform:translate(0, -10px);-moz-transform:translate(0, -10px);-ms-transform:translate(0, -10px);transform:translate(0, -10px)}[data-balloon][data-balloon-pos='down-left']:before{background:no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17,17,17,0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");background-size:100% auto;width:18px;height:6px;left:5px;margin-top:5px;top:100%;-webkit-transform:translate(0, -10px);-moz-transform:translate(0, -10px);-ms-transform:translate(0, -10px);transform:translate(0, -10px)}[data-balloon][data-balloon-pos='down-left']:hover:after,[data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:after{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos='down-left']:hover:before,[data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:before{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos='down-right']:after{right:0;margin-top:11px;top:100%;-webkit-transform:translate(0, -10px);-moz-transform:translate(0, -10px);-ms-transform:translate(0, -10px);transform:translate(0, -10px)}[data-balloon][data-balloon-pos='down-right']:before{background:no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17,17,17,0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");background-size:100% auto;width:18px;height:6px;right:5px;margin-top:5px;top:100%;-webkit-transform:translate(0, -10px);-moz-transform:translate(0, -10px);-ms-transform:translate(0, -10px);transform:translate(0, -10px)}[data-balloon][data-balloon-pos='down-right']:hover:after,[data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:after{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos='down-right']:hover:before,[data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:before{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos='left']:after{margin-right:11px;right:100%;top:50%;-webkit-transform:translate(10px, -50%);-moz-transform:translate(10px, -50%);-ms-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%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17,17,17,0.9)%22%20transform%3D%22rotate(-90 18 18)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");background-size:100% auto;width:6px;height:18px;margin-right:5px;right:100%;top:50%;-webkit-transform:translate(10px, -50%);-moz-transform:translate(10px, -50%);-ms-transform:translate(10px, -50%);transform:translate(10px, -50%)}[data-balloon][data-balloon-pos='left']:hover:after,[data-balloon][data-balloon-pos='left'][data-balloon-visible]:after{-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%);transform:translate(0, -50%)}[data-balloon][data-balloon-pos='left']:hover:before,[data-balloon][data-balloon-pos='left'][data-balloon-visible]:before{-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%);transform:translate(0, -50%)}[data-balloon][data-balloon-pos='right']:after{left:100%;margin-left:11px;top:50%;-webkit-transform:translate(-10px, -50%);-moz-transform:translate(-10px, -50%);-ms-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%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17,17,17,0.9)%22%20transform%3D%22rotate(90 6 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");background-size:100% auto;width:6px;height:18px;left:100%;margin-left:5px;top:50%;-webkit-transform:translate(-10px, -50%);-moz-transform:translate(-10px, -50%);-ms-transform:translate(-10px, -50%);transform:translate(-10px, -50%)}[data-balloon][data-balloon-pos='right']:hover:after,[data-balloon][data-balloon-pos='right'][data-balloon-visible]:after{-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%);transform:translate(0, -50%)}[data-balloon][data-balloon-pos='right']:hover:before,[data-balloon][data-balloon-pos='right'][data-balloon-visible]:before{-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%);transform:translate(0, -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%}\n"]} \ No newline at end of file diff --git a/packages/artplayer-plugin-danmuku/README.md b/packages/artplayer-plugin-danmuku/README.md index 362444664..e5c036820 100644 --- a/packages/artplayer-plugin-danmuku/README.md +++ b/packages/artplayer-plugin-danmuku/README.md @@ -38,13 +38,22 @@ var art = new Artplayer({ container: '.artplayer-app', url: 'path/to/video.mp4', plugins: [artplayerPluginDanmuku({ - danmuku: [], // Can be an array or return the promised function or danmuku xml url + danmuku: [ + { + text: '666', // Danmu text + time: 5, // Video time + color: '#fff', // Danmu color + border: false, // Danmu border + mode: 'scroll', // Danmu mode: scroll or static + } + ], // Can be an array or return the promised function or danmuku xml url speed: 5, // Animation time opacity: 1, // Opacity color: '#fff', // Font color size: 25, // Font size maxlength: 50, // The maximum number of words in the danmu margin: [10, 20], // Margin top and margin bottom + synchronousPlayback: false, // Synchronous playback speed })], }); @@ -54,7 +63,8 @@ art.plugins.artplayerPluginDanmuku.emit({ time: 5, // Video time color: '#fff', // Danmu color size: 25, // Danmu size - border: false // Danmu border + border: false, // Danmu border + mode: 'scroll', // Danmu mode: scroll or static }); // Hide danmu diff --git a/packages/artplayer-plugin-danmuku/src/danmuku.js b/packages/artplayer-plugin-danmuku/src/danmuku.js index 261d50351..f21aae72b 100644 --- a/packages/artplayer-plugin-danmuku/src/danmuku.js +++ b/packages/artplayer-plugin-danmuku/src/danmuku.js @@ -1,5 +1,5 @@ import i18n from './i18n'; -import { opacity, size, speed } from './setting'; +import { opacity, size, speed, synchronousPlayback } from './setting'; import { filter, getRect, getDanmuRef } from './utils'; import { bilibiliDanmuParseFromUrl } from './bilibili'; import getDanmuTop from './getDanmuTop'; @@ -10,6 +10,7 @@ export default class Danmuku { art.setting.add(opacity); art.setting.add(size); art.setting.add(speed); + art.setting.add(synchronousPlayback); this.art = art; this.queue = []; this.option = {}; @@ -47,6 +48,7 @@ export default class Danmuku { margin: [10, 100], opacity: 1, fontSize: 25, + synchronousPlayback: false, }; } @@ -58,6 +60,7 @@ export default class Danmuku { margin: 'array', opacity: 'number', fontSize: 'number', + synchronousPlayback: 'boolean', }; } @@ -163,7 +166,10 @@ export default class Danmuku { danmu.$ref.innerText = danmu.text; danmu.$ref.style.color = danmu.color; danmu.$ref.style.border = danmu.border ? `1px solid ${danmu.color}` : 'none'; - danmu.$restTime = this.option.speed; + danmu.$restTime = + this.option.synchronousPlayback && player.playbackRateState + ? this.option.speed / Number(player.playbackRateState) + : this.option.speed; danmu.$lastStartTime = Date.now(); const danmuWidth = getRect(danmu.$ref, 'width'); const danmuTop = getDanmuTop(this, danmu); diff --git a/packages/artplayer-plugin-danmuku/src/i18n.js b/packages/artplayer-plugin-danmuku/src/i18n.js index b96e2a042..1da33a533 100644 --- a/packages/artplayer-plugin-danmuku/src/i18n.js +++ b/packages/artplayer-plugin-danmuku/src/i18n.js @@ -5,6 +5,7 @@ export default { 'Danmu size': '弹幕大小', 'Danmu text cannot be empty': '弹幕文本不能为空', 'The length of the danmu does not exceed': '弹幕文本字数不能超过', + 'Synchronize video playback speed': '是否同步视频播放速度', }, 'zh-tw': { 'Danmu opacity': '彈幕透明度', @@ -12,5 +13,6 @@ export default { 'Danmu size': '弹幕大小', 'Danmu text cannot be empty': '彈幕文本不能為空', 'The length of the danmu does not exceed': '彈幕文本字數不能超過', + 'Synchronize video playback speed': '是否同步視頻播放速度', }, }; \ No newline at end of file diff --git a/packages/artplayer-plugin-danmuku/src/setting.js b/packages/artplayer-plugin-danmuku/src/setting.js index 1e1f53b45..b1865c9e6 100644 --- a/packages/artplayer-plugin-danmuku/src/setting.js +++ b/packages/artplayer-plugin-danmuku/src/setting.js @@ -6,7 +6,7 @@ export function opacity(art) { return { name: 'danmuku-opacity', - index: 30, + index: 10, html: `
${i18n.get('Danmu opacity')}: 100% @@ -25,13 +25,13 @@ export function opacity(art) { art.plugins.artplayerPluginDanmuku.config({ opacity: Number(value), }); + }); - art.on('artplayerPluginDanmuku:config', config => { - if ($range.value !== config.opacity) { - $range.value = config.opacity; - $value.innerText = config.opacity * 100; - } - }); + art.on('artplayerPluginDanmuku:config', config => { + if ($range.value !== config.opacity) { + $range.value = config.opacity; + $value.innerText = config.opacity * 100; + } }); }, }; @@ -45,7 +45,7 @@ export function size(art) { return { name: 'danmuku-size', - index: 50, + index: 11, html: `
${i18n.get('Danmu size')}: 25px @@ -64,13 +64,13 @@ export function size(art) { art.plugins.artplayerPluginDanmuku.config({ fontSize: Number(value), }); + }); - art.on('artplayerPluginDanmuku:config', config => { - if ($range.value !== config.fontSize) { - $range.value = config.fontSize; - $value.innerText = config.fontSize; - } - }); + art.on('artplayerPluginDanmuku:config', config => { + if ($range.value !== config.fontSize) { + $range.value = config.fontSize; + $value.innerText = config.fontSize; + } }); }, }; @@ -84,7 +84,7 @@ export function speed(art) { return { name: 'danmuku-speed', - index: 40, + index: 12, html: `
${i18n.get('Danmu speed')}: 5s @@ -103,13 +103,43 @@ export function speed(art) { art.plugins.artplayerPluginDanmuku.config({ speed: Number(value), }); + }); - art.on('artplayerPluginDanmuku:config', config => { - if ($range.value !== config.speed) { - $range.value = config.speed; - $value.innerText = config.speed; - } - }); + art.on('artplayerPluginDanmuku:config', config => { + if ($range.value !== config.speed) { + $range.value = config.speed; + $value.innerText = config.speed; + } + }); + }, + }; +} + +export function synchronousPlayback(art) { + const { + i18n, + events: { proxy }, + } = art; + return { + name: 'danmuku-synchronousPlayback', + index: 13, + html: ` + + `, + mounted: $setting => { + const $checkbox = $setting.querySelector('input[type=checkbox]'); + proxy($checkbox, 'change', () => { + art.plugins.artplayerPluginDanmuku.config({ + synchronousPlayback: $checkbox.checked, + }); + }); + + art.on('artplayerPluginDanmuku:config', config => { + if ($checkbox.checked !== config.synchronousPlayback) { + $checkbox.checked = config.synchronousPlayback; + } }); }, }; diff --git a/packages/artplayer/src/style/setting.scss b/packages/artplayer/src/style/setting.scss index 7568ff8cf..2736e75b6 100644 --- a/packages/artplayer/src/style/setting.scss +++ b/packages/artplayer/src/style/setting.scss @@ -67,6 +67,14 @@ background-color: #fff; } } + + .art-setting-checkbox { + input { + height: 14px; + width: 14px; + margin-right: 5px; + } + } } &.artplayer-setting-show {