From 42d43dfd156df3882462c719717d893a96a80921 Mon Sep 17 00:00:00 2001 From: Harvey Zack Date: Sun, 15 May 2022 19:54:23 +0800 Subject: [PATCH] update danmuku demo --- docs/uncompiled/artplayer-plugin-danmuku/index.js | 10 +++++----- docs/uncompiled/artplayer-plugin-danmuku/index.js.map | 2 +- packages/artplayer-plugin-danmuku/src/setting.js | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/uncompiled/artplayer-plugin-danmuku/index.js b/docs/uncompiled/artplayer-plugin-danmuku/index.js index b966ccf5c..52155006c 100644 --- a/docs/uncompiled/artplayer-plugin-danmuku/index.js +++ b/docs/uncompiled/artplayer-plugin-danmuku/index.js @@ -1040,14 +1040,14 @@ function setting(art, danmuku) { { html: '1/4', margin: [ - '2%', + 10, '75%' ] }, { html: '半屏', margin: [ - '2%', + 10, '50%' ] }, @@ -1055,15 +1055,15 @@ function setting(art, danmuku) { default: true, html: '3/4', margin: [ - '2%', + 10, '25%' ] }, { html: '满屏', margin: [ - '2%', - '2%' + 10, + 10 ] }, ], diff --git a/docs/uncompiled/artplayer-plugin-danmuku/index.js.map b/docs/uncompiled/artplayer-plugin-danmuku/index.js.map index 2d19805f0..85699d094 100644 --- a/docs/uncompiled/artplayer-plugin-danmuku/index.js.map +++ b/docs/uncompiled/artplayer-plugin-danmuku/index.js.map @@ -1 +1 @@ -{"mappings":"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","sources":["src/index.js","src/danmuku.js","src/bilibili.js","../../node_modules/@parcel/transformer-js/src/esmodule-helpers.js","src/getDanmuTop.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-5395621aae5f7f00.js","src/setting.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-bf4be4852fcb46f8.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-c224f681de0b4761.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-917e8af13f4c79a5.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-dd25a9ac31f95fdb.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-8824da956e33cba6.js"],"sourcesContent":["import Danmuku from './danmuku';\nimport setting from './setting';\n\nfunction checkVersion(art) {\n const {\n version,\n utils: { errorHandle },\n } = art.constructor;\n const arr = version.split('.').map(Number);\n const major = arr[0];\n const minor = arr[1] / 100;\n errorHandle(major + minor >= 4.04, `Artplayer.js@${version} 不兼容该弹幕库,请更新到 4.4.x 版本以上`);\n}\n\nexport default function artplayerPluginDanmuku(option) {\n return (art) => {\n checkVersion(art);\n const danmuku = new Danmuku(art, option);\n setting(art, danmuku);\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 get isHide() {\n return danmuku.isHide;\n },\n get isStop() {\n return danmuku.isStop;\n },\n };\n };\n}\n\nartplayerPluginDanmuku.env = process.env.NODE_ENV;\nartplayerPluginDanmuku.version = process.env.APP_VER;\nartplayerPluginDanmuku.build = process.env.BUILD_DATE;\n\nif (typeof window !== 'undefined') {\n window['artplayerPluginDanmuku'] = artplayerPluginDanmuku;\n}\n","import { bilibiliDanmuParseFromUrl } from './bilibili';\nimport getDanmuTop from './getDanmuTop';\n\nexport default class Danmuku {\n constructor(art, option) {\n const { constructor, template } = art;\n\n this.utils = constructor.utils;\n this.validator = constructor.validator;\n this.$danmuku = template.$danmuku;\n this.$player = template.$player;\n\n this.art = art;\n this.queue = [];\n this.option = {};\n this.$refs = [];\n this.isStop = false;\n this.isHide = false;\n this.timer = null;\n this.config(option);\n\n if (this.option.useWorker) {\n try {\n this.worker = new Worker(new URL('data-url:./worker.js', import.meta.url));\n } catch (error) {\n //\n }\n }\n\n this.start = this.start.bind(this);\n this.stop = this.stop.bind(this);\n this.reset = this.reset.bind(this);\n this.destroy = this.destroy.bind(this);\n\n art.on('video:play', this.start);\n art.on('video:playing', this.start);\n art.on('video:pause', this.stop);\n art.on('video:waiting', this.stop);\n art.on('fullscreen', this.reset);\n art.on('fullscreenWeb', this.reset);\n art.on('destroy', this.destroy);\n\n this.load();\n }\n\n static get option() {\n return {\n danmuku: [],\n speed: 5,\n margin: ['2%', '25%'],\n opacity: 1,\n color: '#FFFFFF',\n mode: 0,\n fontSize: 25,\n filter: () => true,\n antiOverlap: true,\n useWorker: true,\n synchronousPlayback: false,\n };\n }\n\n static get scheme() {\n return {\n danmuku: 'array|function|string',\n speed: 'number',\n margin: 'array',\n opacity: 'number',\n color: 'string',\n mode: 'number',\n fontSize: 'number|string',\n filter: 'function',\n antiOverlap: 'boolean',\n useWorker: 'boolean',\n synchronousPlayback: 'boolean',\n };\n }\n\n get isRotate() {\n return this.art.plugins.autoOrientation && this.art.plugins.autoOrientation.state;\n }\n\n get marginTop() {\n const { clamp } = this.utils;\n const value = this.option.margin[0];\n const { clientHeight } = this.$player;\n\n if (typeof value === 'number') {\n return clamp(value, 0, clientHeight);\n }\n\n if (typeof value === 'string' && value.endsWith('%')) {\n const ratio = parseFloat(value) / 100;\n return clamp(clientHeight * ratio, 0, clientHeight);\n }\n\n return Danmuku.option.margin[0];\n }\n\n get marginBottom() {\n const { clamp } = this.utils;\n const value = this.option.margin[1];\n const { clientHeight } = this.$player;\n\n if (typeof value === 'number') {\n return clamp(value, 0, clientHeight);\n }\n\n if (typeof value === 'string' && value.endsWith('%')) {\n const ratio = parseFloat(value) / 100;\n return clamp(clientHeight * ratio, 0, clientHeight);\n }\n\n return Danmuku.option.margin[1];\n }\n\n filter(state, callback) {\n return this.queue.filter((danmu) => danmu.$state === state).map(callback);\n }\n\n getLeft($ref) {\n const rect = $ref.getBoundingClientRect();\n return this.isRotate ? rect.top : rect.left;\n }\n\n getRef() {\n const $refCache = this.$refs.pop();\n if ($refCache) return $refCache;\n\n const $ref = document.createElement('div');\n\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-weight: normal;\n line-height: 1.125;\n visibility: hidden;\n font-family: SimHei, \"Microsoft JhengHei\", Arial, Helvetica, sans-serif;\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 }\n\n getReady() {\n const { currentTime } = this.art;\n return this.queue.filter((danmu) => {\n return (\n danmu.$state === 'ready' ||\n (danmu.$state === 'wait' && currentTime + 0.1 >= danmu.time && danmu.time >= currentTime - 0.1)\n );\n });\n }\n\n getEmits() {\n const result = [];\n const { clientWidth } = this.$player;\n const clientLeft = this.getLeft(this.$player);\n\n this.filter('emit', (danmu) => {\n const top = danmu.$ref.offsetTop;\n const left = this.getLeft(danmu.$ref) - clientLeft;\n const height = danmu.$ref.clientHeight;\n const width = danmu.$ref.clientWidth;\n const distance = left + width;\n const right = clientWidth - distance;\n const speed = distance / danmu.$restTime;\n\n const emit = {};\n emit.top = top;\n emit.left = left;\n emit.height = height;\n emit.width = width;\n emit.right = right;\n emit.speed = speed;\n emit.distance = distance;\n emit.time = danmu.$restTime;\n emit.mode = danmu.mode;\n\n result.push(emit);\n });\n\n return result;\n }\n\n getFontSize(fontSize) {\n const { clamp } = this.utils;\n const { clientHeight } = this.$player;\n\n if (typeof fontSize === 'number') {\n return clamp(fontSize, 12, clientHeight);\n }\n\n if (typeof fontSize === 'string' && fontSize.endsWith('%')) {\n const ratio = parseFloat(fontSize) / 100;\n return clamp(clientHeight * ratio, 12, clientHeight);\n }\n\n return Danmuku.option.fontSize;\n }\n\n postMessage(message = {}) {\n return new Promise((resolve) => {\n if (this.option.useWorker && this.worker && this.worker.postMessage) {\n message.id = Date.now();\n this.worker.postMessage(message);\n this.worker.onmessage = (event) => {\n const { data } = event;\n if (data.id === message.id) {\n resolve(data);\n }\n };\n } else {\n const top = getDanmuTop(message);\n resolve({ top });\n }\n });\n }\n\n async load() {\n try {\n let danmus = [];\n if (typeof this.option.danmuku === 'function') {\n danmus = await this.option.danmuku();\n } else if (typeof this.option.danmuku.then === 'function') {\n danmus = await this.option.danmuku;\n } else if (typeof this.option.danmuku === 'string') {\n danmus = await bilibiliDanmuParseFromUrl(this.option.danmuku);\n } else {\n danmus = this.option.danmuku;\n }\n\n this.utils.errorHandle(Array.isArray(danmus), 'Danmuku need return an array as result');\n this.art.emit('artplayerPluginDanmuku:loaded', danmus);\n\n this.queue = [];\n this.$danmuku.innerText = '';\n danmus.forEach((danmu) => this.emit(danmu));\n } catch (error) {\n this.art.emit('artplayerPluginDanmuku:error', error);\n throw error;\n }\n\n return this;\n }\n\n config(option) {\n const { clamp } = this.utils;\n\n this.option = Object.assign({}, Danmuku.option, this.option, option);\n this.validator(this.option, Danmuku.scheme);\n\n this.option.speed = clamp(this.option.speed, 1, 10);\n this.option.opacity = clamp(this.option.opacity, 0, 1);\n\n if (option.fontSize) {\n this.option.fontSize = this.getFontSize(this.option.fontSize);\n this.reset();\n }\n\n this.art.emit('artplayerPluginDanmuku:config', this.option);\n\n return this;\n }\n\n makeWait(danmu) {\n danmu.$state = 'wait';\n if (danmu.$ref) {\n danmu.$ref.style.visibility = 'hidden';\n danmu.$ref.style.marginLeft = '0px';\n danmu.$ref.style.transform = 'translateX(0px)';\n danmu.$ref.style.transition = 'transform 0s linear 0s';\n this.$refs.push(danmu.$ref);\n danmu.$ref = null;\n }\n }\n\n continue() {\n const { clientWidth } = this.$player;\n this.filter('stop', (danmu) => {\n danmu.$state = 'emit';\n danmu.$lastStartTime = Date.now();\n switch (danmu.mode) {\n case 0: {\n const translateX = clientWidth + danmu.$ref.clientWidth;\n danmu.$ref.style.transform = `translateX(${-translateX}px)`;\n danmu.$ref.style.transition = `transform ${danmu.$restTime}s linear 0s`;\n break;\n }\n default:\n break;\n }\n });\n\n return this;\n }\n\n suspend() {\n const { clientWidth } = this.$player;\n this.filter('emit', (danmu) => {\n danmu.$state = 'stop';\n switch (danmu.mode) {\n case 0: {\n const translateX = clientWidth - (this.getLeft(danmu.$ref) - this.getLeft(this.$player));\n danmu.$ref.style.transform = `translateX(${-translateX}px)`;\n danmu.$ref.style.transition = 'transform 0s linear 0s';\n break;\n }\n default:\n break;\n }\n });\n\n return this;\n }\n\n reset() {\n this.queue.forEach((danmu) => this.makeWait(danmu));\n return this;\n }\n\n update() {\n this.timer = window.requestAnimationFrame(async () => {\n if (this.art.playing && !this.isHide) {\n this.filter('emit', (danmu) => {\n const emitTime = (Date.now() - danmu.$lastStartTime) / 1000;\n danmu.$restTime -= emitTime;\n danmu.$lastStartTime = Date.now();\n if (danmu.$restTime <= 0) {\n this.makeWait(danmu);\n }\n });\n\n const readys = this.getReady();\n const { clientWidth, clientHeight } = this.$player;\n for (let index = 0; index < readys.length; index++) {\n const danmu = readys[index];\n danmu.$ref = this.getRef();\n danmu.$ref.innerText = danmu.text;\n this.$danmuku.appendChild(danmu.$ref);\n\n danmu.$ref.style.left = `${clientWidth}px`;\n danmu.$ref.style.opacity = this.option.opacity;\n danmu.$ref.style.fontSize = `${this.option.fontSize}px`;\n danmu.$ref.style.color = danmu.color;\n danmu.$ref.style.border = danmu.border ? `1px solid ${danmu.color}` : null;\n danmu.$ref.style.backgroundColor = danmu.border ? 'rgb(0 0 0 / 50%)' : null;\n danmu.$ref.style.marginLeft = '0px';\n\n danmu.$lastStartTime = Date.now();\n danmu.$restTime =\n this.option.synchronousPlayback && this.art.playbackRate\n ? this.option.speed / Number(this.art.playbackRate)\n : this.option.speed;\n\n const target = {\n mode: danmu.mode,\n height: danmu.$ref.clientHeight,\n speed: (clientWidth + danmu.$ref.clientWidth) / danmu.$restTime,\n };\n\n const { top } = await this.postMessage({\n target,\n emits: this.getEmits(),\n antiOverlap: this.option.antiOverlap,\n clientWidth: clientWidth,\n clientHeight: clientHeight,\n marginBottom: this.marginBottom,\n marginTop: this.marginTop,\n });\n\n if (danmu.$ref) {\n if (!this.isStop && top !== undefined) {\n danmu.$state = 'emit';\n danmu.$ref.style.visibility = 'visible';\n\n switch (danmu.mode) {\n case 0: {\n danmu.$ref.style.top = `${top}px`;\n const translateX = clientWidth + danmu.$ref.clientWidth;\n danmu.$ref.style.transform = `translateX(${-translateX}px)`;\n danmu.$ref.style.transition = `transform ${danmu.$restTime}s linear 0s`;\n break;\n }\n case 1:\n danmu.$ref.style.left = '50%';\n danmu.$ref.style.top = `${top}px`;\n danmu.$ref.style.marginLeft = `-${danmu.$ref.clientWidth / 2}px`;\n break;\n default:\n break;\n }\n } else {\n danmu.$state = 'ready';\n this.$refs.push(danmu.$ref);\n danmu.$ref = null;\n }\n }\n }\n }\n\n if (!this.isStop) {\n this.update();\n }\n });\n return this;\n }\n\n stop() {\n this.isStop = true;\n this.suspend();\n window.cancelAnimationFrame(this.timer);\n this.art.emit('artplayerPluginDanmuku:stop');\n return this;\n }\n\n start() {\n this.isStop = false;\n this.continue();\n this.update();\n this.art.emit('artplayerPluginDanmuku:start');\n return this;\n }\n\n show() {\n this.isHide = false;\n this.start();\n this.$danmuku.style.display = 'block';\n this.art.emit('artplayerPluginDanmuku:show');\n return this;\n }\n\n hide() {\n this.isHide = true;\n this.stop();\n this.queue.forEach((item) => this.makeWait(item));\n this.$danmuku.style.display = 'none';\n this.art.emit('artplayerPluginDanmuku:hide');\n return this;\n }\n\n emit(danmu) {\n this.validator(danmu, {\n text: 'string',\n mode: 'number|undefined',\n color: 'string|undefined',\n time: 'number|undefined',\n border: 'boolean|undefined',\n });\n\n if (!danmu.text.trim()) return this;\n if (!this.option.filter(danmu)) return this;\n\n if (danmu.time) {\n danmu.time = this.utils.clamp(danmu.time, 0, Infinity);\n } else {\n danmu.time = this.art.currentTime + 0.5;\n }\n\n if (danmu.mode === undefined) {\n danmu.mode = this.option.mode;\n }\n\n if (danmu.color === undefined) {\n danmu.color = this.option.color;\n }\n\n this.queue.push({\n ...danmu,\n $state: 'wait',\n $ref: null,\n $restTime: 0,\n $lastStartTime: 0,\n });\n\n return this;\n }\n\n destroy() {\n this.stop();\n if (this.worker && this.worker.terminate) this.worker.terminate();\n this.art.off('video:play', this.start);\n this.art.off('video:playing', this.start);\n this.art.off('video:pause', this.stop);\n this.art.off('video:waiting', this.stop);\n this.art.off('fullscreen', this.reset);\n this.art.off('fullscreenWeb', this.reset);\n this.art.off('destroy', this.destroy);\n this.art.emit('artplayerPluginDanmuku:destroy');\n }\n}\n","export function getMode(key) {\n switch (key) {\n case 1:\n case 2:\n case 3:\n return 0;\n case 4:\n case 5:\n return 1;\n default:\n return 0;\n }\n}\n\nexport function bilibiliDanmuParseFromXml(xmlString) {\n if (typeof xmlString !== 'string') return [];\n const srtList = xmlString.match(/[\\S ]*?)<\\/d>/gi);\n return srtList && 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) => bilibiliDanmuParseFromXml(xmlString));\n}\n","exports.interopDefault = function (a) {\n return a && a.__esModule ? a : {default: a};\n};\n\nexports.defineInteropFlag = function (a) {\n Object.defineProperty(a, '__esModule', {value: true});\n};\n\nexports.exportAll = function (source, dest) {\n Object.keys(source).forEach(function (key) {\n if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function () {\n return source[key];\n },\n });\n });\n\n return dest;\n};\n\nexports.export = function (dest, destName, get) {\n Object.defineProperty(dest, destName, {\n enumerable: true,\n get: get,\n });\n};\n","export default function getDanmuTop({\n target,\n emits,\n clientWidth,\n clientHeight,\n marginBottom,\n marginTop,\n antiOverlap,\n}) {\n const danmus = emits\n .filter((item) => item.mode === target.mode && item.top <= clientHeight - marginBottom)\n .sort((prev, next) => prev.top - next.top);\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: clientWidth,\n speed: 0,\n distance: clientWidth,\n });\n\n danmus.push({\n top: clientHeight - marginBottom,\n left: 0,\n right: 0,\n height: marginBottom,\n width: clientWidth,\n speed: 0,\n distance: clientWidth,\n });\n\n for (let index = 1; index < danmus.length; index += 1) {\n const item = danmus[index];\n const prev = danmus[index - 1];\n const prevBottom = prev.top + prev.height;\n const diff = item.top - prevBottom;\n if (diff >= target.height) {\n return prevBottom;\n }\n }\n\n const topMap = [];\n for (let index = 1; index < danmus.length - 1; index += 1) {\n const item = danmus[index];\n if (topMap.length) {\n const last = topMap[topMap.length - 1];\n if (last[0].top === item.top) {\n last.push(item);\n } else {\n topMap.push([item]);\n }\n } else {\n topMap.push([item]);\n }\n }\n\n if (antiOverlap) {\n switch (target.mode) {\n case 0: {\n const result = topMap.find((list) => {\n return list.every((danmu) => {\n if (clientWidth < danmu.distance) return false;\n if (target.speed < danmu.speed) return true;\n const overlapTime = danmu.right / (target.speed - danmu.speed);\n if (overlapTime > danmu.time) return true;\n return false;\n });\n });\n\n return result && result[0] ? result[0].top : undefined;\n }\n case 1:\n return undefined;\n default:\n break;\n }\n } else {\n switch (target.mode) {\n case 0:\n topMap.sort((prev, next) => {\n const nextMinRight = Math.min(...next.map((item) => item.right));\n const prevMinRight = Math.min(...prev.map((item) => item.right));\n return nextMinRight * next.length - prevMinRight * prev.length;\n });\n break;\n case 1:\n topMap.sort((prev, next) => {\n const nextMaxWidth = Math.max(...next.map((item) => item.width));\n const prevMaxWidth = Math.max(...prev.map((item) => item.width));\n return prevMaxWidth * prev.length - nextMaxWidth * next.length;\n });\n break;\n default:\n break;\n }\n\n return topMap[0][0].top;\n }\n}\n","module.exports = \"4eed92ff70f9a7c8\";","import style from 'bundle-text:./style.less';\nimport danmuOn from 'bundle-text:./img/danmu-on.svg';\nimport danmuOff from 'bundle-text:./img/danmu-off.svg';\nimport danmuConfig from 'bundle-text:./img/danmu-config.svg';\nimport danmuStyle from 'bundle-text:./img/danmu-style.svg';\n\nexport default function setting(art, danmuku) {\n const {\n template: { $controlsCenter },\n constructor: {\n utils: { removeClass, addClass, append, setStyle, tooltip, query, inverseClass },\n },\n } = art;\n\n function getIcon(svg, key) {\n const icon = document.createElement('i');\n append(icon, svg);\n addClass(icon, 'art-icon');\n addClass(icon, `art-icon-${key}`);\n setStyle(icon, 'width', '22px');\n setStyle(icon, 'height', '22px');\n return icon;\n }\n\n const $danmuOn = getIcon(danmuOn, 'danmu-on');\n const $danmuOff = getIcon(danmuOff, 'danmu-off');\n const $danmuConfig = getIcon(danmuConfig, 'danmu-config');\n const $danmuStyle = getIcon(danmuStyle, 'danmu-config');\n\n function addEmitter() {\n const colors = [\n '#FE0302',\n '#FF7204',\n '#FFAA02',\n '#FFD302',\n '#FFFF00',\n '#A0EE00',\n '#00CD00',\n '#019899',\n '#4266BE',\n '#89D5FF',\n '#CC0273',\n '#222222',\n '#9B9B9B',\n '#FFFFFF',\n ].map((item) => {\n const isCurrent = danmuku.option.color === item ? ' art-current' : '';\n return `
`;\n });\n\n const $emitter = append(\n $controlsCenter,\n `\n
\n
\n
\n
模式
\n
\n
滚动
\n
静止
\n
\n
颜色
\n
\n ${colors.join('')}\n
\n
\n
\n \n
发送
\n
\n `,\n );\n\n const $style = query('.art-danmuku-style', $emitter);\n const $input = query('.art-danmuku-input', $emitter);\n const $send = query('.art-danmuku-send', $emitter);\n const $panel = query('.art-danmuku-style-panel', $emitter);\n const $modes = query('.art-danmuku-style-panel-modes', $emitter);\n const $colors = query('.art-danmuku-style-panel-colors', $emitter);\n\n if (art.option.backdrop) {\n addClass($panel, 'art-backdrop-filter');\n }\n\n let timer = null;\n let mode = danmuku.option.mode;\n let color = danmuku.option.color;\n append($style, $danmuStyle);\n\n function countdown(time) {\n if (time === 0) {\n timer = null;\n $send.innerText = '发送';\n removeClass($send, 'art-disabled');\n } else {\n $send.innerText = time;\n timer = setTimeout(() => countdown(time - 1), 1000);\n }\n }\n\n function onSend() {\n const text = $input.value.trim();\n if (!text || timer) return;\n\n const danmu = {\n text,\n mode,\n color,\n border: true,\n };\n\n $input.value = '';\n danmuku.emit(danmu);\n addClass($send, 'art-disabled');\n countdown(danmuku.option.timeout || 5);\n art.emit('artplayerPluginDanmuku:emit', danmu);\n }\n\n art.proxy($send, 'click', onSend);\n\n art.proxy($input, 'keypress', (event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n onSend();\n }\n });\n\n art.proxy($modes, 'click', (event) => {\n const { dataset } = event.target;\n if (dataset.mode) {\n mode = Number(dataset.mode);\n inverseClass(event.target, 'art-current');\n }\n });\n\n art.proxy($colors, 'click', (event) => {\n const { dataset } = event.target;\n if (dataset.color) {\n color = dataset.color;\n inverseClass(event.target, 'art-current');\n }\n });\n\n art.on('resize', () => {\n setStyle($emitter, 'display', $controlsCenter.clientWidth < 150 ? 'none' : null);\n });\n }\n\n function addControl() {\n art.controls.add({\n position: 'right',\n name: 'danmuku',\n click: function () {\n if (danmuku.isHide) {\n danmuku.show();\n art.notice.show = '弹幕显示';\n setStyle($danmuOn, 'display', null);\n setStyle($danmuOff, 'display', 'none');\n } else {\n danmuku.hide();\n art.notice.show = '弹幕隐藏';\n setStyle($danmuOn, 'display', 'none');\n setStyle($danmuOff, 'display', null);\n }\n },\n mounted($ref) {\n append($ref, $danmuOn);\n append($ref, $danmuOff);\n tooltip($ref, '弹幕开关');\n setStyle($danmuOff, 'display', 'none');\n },\n });\n }\n\n function addSetting() {\n art.setting.add({\n name: 'danmuku',\n html: '弹幕设置',\n tooltip: '更多',\n icon: $danmuConfig,\n selector: [\n {\n width: 200,\n html: '播放速度',\n icon: '',\n tooltip: '适中',\n selector: [\n {\n html: '极慢',\n time: 10,\n },\n {\n html: '较慢',\n time: 7.5,\n },\n {\n default: true,\n html: '适中',\n time: 5,\n },\n {\n html: '较快',\n time: 2.5,\n },\n {\n html: '极快',\n time: 1,\n },\n ],\n onSelect: function (item) {\n danmuku.config({\n speed: item.time,\n });\n return item.html;\n },\n },\n {\n width: 200,\n html: '字体大小',\n icon: '',\n tooltip: '适中',\n selector: [\n {\n html: '极小',\n fontSize: '2%',\n },\n {\n html: '较小',\n fontSize: '4%',\n },\n {\n default: true,\n html: '适中',\n fontSize: '6%',\n },\n {\n html: '较大',\n fontSize: '8%',\n },\n {\n html: '极大',\n fontSize: '10%',\n },\n ],\n onSelect: function (item) {\n danmuku.config({\n fontSize: item.fontSize,\n });\n return item.html;\n },\n },\n {\n width: 200,\n html: '不透明度',\n icon: '',\n tooltip: '100%',\n selector: [\n {\n default: true,\n opacity: 1,\n html: '100%',\n },\n {\n opacity: 0.75,\n html: '75%',\n },\n {\n opacity: 0.5,\n html: '50%',\n },\n {\n opacity: 0.25,\n html: '25%',\n },\n {\n opacity: 0,\n html: '0%',\n },\n ],\n onSelect: function (item) {\n danmuku.config({\n opacity: item.opacity,\n });\n return item.html;\n },\n },\n {\n width: 200,\n html: '显示范围',\n icon: '',\n tooltip: '3/4',\n selector: [\n {\n html: '1/4',\n margin: ['2%', '75%'],\n },\n {\n html: '半屏',\n margin: ['2%', '50%'],\n },\n {\n default: true,\n html: '3/4',\n margin: ['2%', '25%'],\n },\n {\n html: '满屏',\n margin: ['2%', '2%'],\n },\n ],\n onSelect: function (item) {\n danmuku.config({\n margin: item.margin,\n });\n return item.html;\n },\n },\n {\n html: '弹幕防重叠',\n icon: '',\n tooltip: danmuku.option.antiOverlap ? '开启' : '关闭',\n switch: danmuku.option.antiOverlap,\n onSwitch(item) {\n danmuku.config({\n antiOverlap: !item.switch,\n });\n item.tooltip = item.switch ? '关闭' : '开启';\n return !item.switch;\n },\n },\n {\n html: '同步视频速度',\n icon: '',\n tooltip: danmuku.option.synchronousPlayback ? '开启' : '关闭',\n switch: danmuku.option.synchronousPlayback,\n onSwitch(item) {\n danmuku.config({\n synchronousPlayback: !item.switch,\n });\n item.tooltip = item.switch ? '关闭' : '开启';\n return !item.switch;\n },\n },\n ],\n });\n }\n\n art.on('ready', () => {\n addEmitter();\n addControl();\n addSetting();\n });\n}\n\nif (typeof document !== 'undefined') {\n if (!document.getElementById('artplayer-plugin-danmuku')) {\n const $style = document.createElement('style');\n $style.id = 'artplayer-plugin-danmuku';\n $style.textContent = style;\n document.head.appendChild($style);\n }\n}\n","module.exports = \"1af484fe1253ce64\";","module.exports = \"a41e824adf503c0d\";","module.exports = \"e0afa382f43c0112\";","module.exports = \"8a330c19349ee459\";","module.exports = \"760835473cfc5438\";"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../../packages/artplayer-plugin-danmuku/"} \ No newline at end of file +{"mappings":"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","sources":["src/index.js","src/danmuku.js","src/bilibili.js","../../node_modules/@parcel/transformer-js/src/esmodule-helpers.js","src/getDanmuTop.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-5395621aae5f7f00.js","src/setting.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-bf4be4852fcb46f8.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-c224f681de0b4761.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-917e8af13f4c79a5.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-dd25a9ac31f95fdb.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-8824da956e33cba6.js"],"sourcesContent":["import Danmuku from './danmuku';\nimport setting from './setting';\n\nfunction checkVersion(art) {\n const {\n version,\n utils: { errorHandle },\n } = art.constructor;\n const arr = version.split('.').map(Number);\n const major = arr[0];\n const minor = arr[1] / 100;\n errorHandle(major + minor >= 4.04, `Artplayer.js@${version} 不兼容该弹幕库,请更新到 4.4.x 版本以上`);\n}\n\nexport default function artplayerPluginDanmuku(option) {\n return (art) => {\n checkVersion(art);\n const danmuku = new Danmuku(art, option);\n setting(art, danmuku);\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 get isHide() {\n return danmuku.isHide;\n },\n get isStop() {\n return danmuku.isStop;\n },\n };\n };\n}\n\nartplayerPluginDanmuku.env = process.env.NODE_ENV;\nartplayerPluginDanmuku.version = process.env.APP_VER;\nartplayerPluginDanmuku.build = process.env.BUILD_DATE;\n\nif (typeof window !== 'undefined') {\n window['artplayerPluginDanmuku'] = artplayerPluginDanmuku;\n}\n","import { bilibiliDanmuParseFromUrl } from './bilibili';\nimport getDanmuTop from './getDanmuTop';\n\nexport default class Danmuku {\n constructor(art, option) {\n const { constructor, template } = art;\n\n this.utils = constructor.utils;\n this.validator = constructor.validator;\n this.$danmuku = template.$danmuku;\n this.$player = template.$player;\n\n this.art = art;\n this.queue = [];\n this.option = {};\n this.$refs = [];\n this.isStop = false;\n this.isHide = false;\n this.timer = null;\n this.config(option);\n\n if (this.option.useWorker) {\n try {\n this.worker = new Worker(new URL('data-url:./worker.js', import.meta.url));\n } catch (error) {\n //\n }\n }\n\n this.start = this.start.bind(this);\n this.stop = this.stop.bind(this);\n this.reset = this.reset.bind(this);\n this.destroy = this.destroy.bind(this);\n\n art.on('video:play', this.start);\n art.on('video:playing', this.start);\n art.on('video:pause', this.stop);\n art.on('video:waiting', this.stop);\n art.on('fullscreen', this.reset);\n art.on('fullscreenWeb', this.reset);\n art.on('destroy', this.destroy);\n\n this.load();\n }\n\n static get option() {\n return {\n danmuku: [],\n speed: 5,\n margin: ['2%', '25%'],\n opacity: 1,\n color: '#FFFFFF',\n mode: 0,\n fontSize: 25,\n filter: () => true,\n antiOverlap: true,\n useWorker: true,\n synchronousPlayback: false,\n };\n }\n\n static get scheme() {\n return {\n danmuku: 'array|function|string',\n speed: 'number',\n margin: 'array',\n opacity: 'number',\n color: 'string',\n mode: 'number',\n fontSize: 'number|string',\n filter: 'function',\n antiOverlap: 'boolean',\n useWorker: 'boolean',\n synchronousPlayback: 'boolean',\n };\n }\n\n get isRotate() {\n return this.art.plugins.autoOrientation && this.art.plugins.autoOrientation.state;\n }\n\n get marginTop() {\n const { clamp } = this.utils;\n const value = this.option.margin[0];\n const { clientHeight } = this.$player;\n\n if (typeof value === 'number') {\n return clamp(value, 0, clientHeight);\n }\n\n if (typeof value === 'string' && value.endsWith('%')) {\n const ratio = parseFloat(value) / 100;\n return clamp(clientHeight * ratio, 0, clientHeight);\n }\n\n return Danmuku.option.margin[0];\n }\n\n get marginBottom() {\n const { clamp } = this.utils;\n const value = this.option.margin[1];\n const { clientHeight } = this.$player;\n\n if (typeof value === 'number') {\n return clamp(value, 0, clientHeight);\n }\n\n if (typeof value === 'string' && value.endsWith('%')) {\n const ratio = parseFloat(value) / 100;\n return clamp(clientHeight * ratio, 0, clientHeight);\n }\n\n return Danmuku.option.margin[1];\n }\n\n filter(state, callback) {\n return this.queue.filter((danmu) => danmu.$state === state).map(callback);\n }\n\n getLeft($ref) {\n const rect = $ref.getBoundingClientRect();\n return this.isRotate ? rect.top : rect.left;\n }\n\n getRef() {\n const $refCache = this.$refs.pop();\n if ($refCache) return $refCache;\n\n const $ref = document.createElement('div');\n\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-weight: normal;\n line-height: 1.125;\n visibility: hidden;\n font-family: SimHei, \"Microsoft JhengHei\", Arial, Helvetica, sans-serif;\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 }\n\n getReady() {\n const { currentTime } = this.art;\n return this.queue.filter((danmu) => {\n return (\n danmu.$state === 'ready' ||\n (danmu.$state === 'wait' && currentTime + 0.1 >= danmu.time && danmu.time >= currentTime - 0.1)\n );\n });\n }\n\n getEmits() {\n const result = [];\n const { clientWidth } = this.$player;\n const clientLeft = this.getLeft(this.$player);\n\n this.filter('emit', (danmu) => {\n const top = danmu.$ref.offsetTop;\n const left = this.getLeft(danmu.$ref) - clientLeft;\n const height = danmu.$ref.clientHeight;\n const width = danmu.$ref.clientWidth;\n const distance = left + width;\n const right = clientWidth - distance;\n const speed = distance / danmu.$restTime;\n\n const emit = {};\n emit.top = top;\n emit.left = left;\n emit.height = height;\n emit.width = width;\n emit.right = right;\n emit.speed = speed;\n emit.distance = distance;\n emit.time = danmu.$restTime;\n emit.mode = danmu.mode;\n\n result.push(emit);\n });\n\n return result;\n }\n\n getFontSize(fontSize) {\n const { clamp } = this.utils;\n const { clientHeight } = this.$player;\n\n if (typeof fontSize === 'number') {\n return clamp(fontSize, 12, clientHeight);\n }\n\n if (typeof fontSize === 'string' && fontSize.endsWith('%')) {\n const ratio = parseFloat(fontSize) / 100;\n return clamp(clientHeight * ratio, 12, clientHeight);\n }\n\n return Danmuku.option.fontSize;\n }\n\n postMessage(message = {}) {\n return new Promise((resolve) => {\n if (this.option.useWorker && this.worker && this.worker.postMessage) {\n message.id = Date.now();\n this.worker.postMessage(message);\n this.worker.onmessage = (event) => {\n const { data } = event;\n if (data.id === message.id) {\n resolve(data);\n }\n };\n } else {\n const top = getDanmuTop(message);\n resolve({ top });\n }\n });\n }\n\n async load() {\n try {\n let danmus = [];\n if (typeof this.option.danmuku === 'function') {\n danmus = await this.option.danmuku();\n } else if (typeof this.option.danmuku.then === 'function') {\n danmus = await this.option.danmuku;\n } else if (typeof this.option.danmuku === 'string') {\n danmus = await bilibiliDanmuParseFromUrl(this.option.danmuku);\n } else {\n danmus = this.option.danmuku;\n }\n\n this.utils.errorHandle(Array.isArray(danmus), 'Danmuku need return an array as result');\n this.art.emit('artplayerPluginDanmuku:loaded', danmus);\n\n this.queue = [];\n this.$danmuku.innerText = '';\n danmus.forEach((danmu) => this.emit(danmu));\n } catch (error) {\n this.art.emit('artplayerPluginDanmuku:error', error);\n throw error;\n }\n\n return this;\n }\n\n config(option) {\n const { clamp } = this.utils;\n\n this.option = Object.assign({}, Danmuku.option, this.option, option);\n this.validator(this.option, Danmuku.scheme);\n\n this.option.speed = clamp(this.option.speed, 1, 10);\n this.option.opacity = clamp(this.option.opacity, 0, 1);\n\n if (option.fontSize) {\n this.option.fontSize = this.getFontSize(this.option.fontSize);\n this.reset();\n }\n\n this.art.emit('artplayerPluginDanmuku:config', this.option);\n\n return this;\n }\n\n makeWait(danmu) {\n danmu.$state = 'wait';\n if (danmu.$ref) {\n danmu.$ref.style.visibility = 'hidden';\n danmu.$ref.style.marginLeft = '0px';\n danmu.$ref.style.transform = 'translateX(0px)';\n danmu.$ref.style.transition = 'transform 0s linear 0s';\n this.$refs.push(danmu.$ref);\n danmu.$ref = null;\n }\n }\n\n continue() {\n const { clientWidth } = this.$player;\n this.filter('stop', (danmu) => {\n danmu.$state = 'emit';\n danmu.$lastStartTime = Date.now();\n switch (danmu.mode) {\n case 0: {\n const translateX = clientWidth + danmu.$ref.clientWidth;\n danmu.$ref.style.transform = `translateX(${-translateX}px)`;\n danmu.$ref.style.transition = `transform ${danmu.$restTime}s linear 0s`;\n break;\n }\n default:\n break;\n }\n });\n\n return this;\n }\n\n suspend() {\n const { clientWidth } = this.$player;\n this.filter('emit', (danmu) => {\n danmu.$state = 'stop';\n switch (danmu.mode) {\n case 0: {\n const translateX = clientWidth - (this.getLeft(danmu.$ref) - this.getLeft(this.$player));\n danmu.$ref.style.transform = `translateX(${-translateX}px)`;\n danmu.$ref.style.transition = 'transform 0s linear 0s';\n break;\n }\n default:\n break;\n }\n });\n\n return this;\n }\n\n reset() {\n this.queue.forEach((danmu) => this.makeWait(danmu));\n return this;\n }\n\n update() {\n this.timer = window.requestAnimationFrame(async () => {\n if (this.art.playing && !this.isHide) {\n this.filter('emit', (danmu) => {\n const emitTime = (Date.now() - danmu.$lastStartTime) / 1000;\n danmu.$restTime -= emitTime;\n danmu.$lastStartTime = Date.now();\n if (danmu.$restTime <= 0) {\n this.makeWait(danmu);\n }\n });\n\n const readys = this.getReady();\n const { clientWidth, clientHeight } = this.$player;\n for (let index = 0; index < readys.length; index++) {\n const danmu = readys[index];\n danmu.$ref = this.getRef();\n danmu.$ref.innerText = danmu.text;\n this.$danmuku.appendChild(danmu.$ref);\n\n danmu.$ref.style.left = `${clientWidth}px`;\n danmu.$ref.style.opacity = this.option.opacity;\n danmu.$ref.style.fontSize = `${this.option.fontSize}px`;\n danmu.$ref.style.color = danmu.color;\n danmu.$ref.style.border = danmu.border ? `1px solid ${danmu.color}` : null;\n danmu.$ref.style.backgroundColor = danmu.border ? 'rgb(0 0 0 / 50%)' : null;\n danmu.$ref.style.marginLeft = '0px';\n\n danmu.$lastStartTime = Date.now();\n danmu.$restTime =\n this.option.synchronousPlayback && this.art.playbackRate\n ? this.option.speed / Number(this.art.playbackRate)\n : this.option.speed;\n\n const target = {\n mode: danmu.mode,\n height: danmu.$ref.clientHeight,\n speed: (clientWidth + danmu.$ref.clientWidth) / danmu.$restTime,\n };\n\n const { top } = await this.postMessage({\n target,\n emits: this.getEmits(),\n antiOverlap: this.option.antiOverlap,\n clientWidth: clientWidth,\n clientHeight: clientHeight,\n marginBottom: this.marginBottom,\n marginTop: this.marginTop,\n });\n\n if (danmu.$ref) {\n if (!this.isStop && top !== undefined) {\n danmu.$state = 'emit';\n danmu.$ref.style.visibility = 'visible';\n\n switch (danmu.mode) {\n case 0: {\n danmu.$ref.style.top = `${top}px`;\n const translateX = clientWidth + danmu.$ref.clientWidth;\n danmu.$ref.style.transform = `translateX(${-translateX}px)`;\n danmu.$ref.style.transition = `transform ${danmu.$restTime}s linear 0s`;\n break;\n }\n case 1:\n danmu.$ref.style.left = '50%';\n danmu.$ref.style.top = `${top}px`;\n danmu.$ref.style.marginLeft = `-${danmu.$ref.clientWidth / 2}px`;\n break;\n default:\n break;\n }\n } else {\n danmu.$state = 'ready';\n this.$refs.push(danmu.$ref);\n danmu.$ref = null;\n }\n }\n }\n }\n\n if (!this.isStop) {\n this.update();\n }\n });\n return this;\n }\n\n stop() {\n this.isStop = true;\n this.suspend();\n window.cancelAnimationFrame(this.timer);\n this.art.emit('artplayerPluginDanmuku:stop');\n return this;\n }\n\n start() {\n this.isStop = false;\n this.continue();\n this.update();\n this.art.emit('artplayerPluginDanmuku:start');\n return this;\n }\n\n show() {\n this.isHide = false;\n this.start();\n this.$danmuku.style.display = 'block';\n this.art.emit('artplayerPluginDanmuku:show');\n return this;\n }\n\n hide() {\n this.isHide = true;\n this.stop();\n this.queue.forEach((item) => this.makeWait(item));\n this.$danmuku.style.display = 'none';\n this.art.emit('artplayerPluginDanmuku:hide');\n return this;\n }\n\n emit(danmu) {\n this.validator(danmu, {\n text: 'string',\n mode: 'number|undefined',\n color: 'string|undefined',\n time: 'number|undefined',\n border: 'boolean|undefined',\n });\n\n if (!danmu.text.trim()) return this;\n if (!this.option.filter(danmu)) return this;\n\n if (danmu.time) {\n danmu.time = this.utils.clamp(danmu.time, 0, Infinity);\n } else {\n danmu.time = this.art.currentTime + 0.5;\n }\n\n if (danmu.mode === undefined) {\n danmu.mode = this.option.mode;\n }\n\n if (danmu.color === undefined) {\n danmu.color = this.option.color;\n }\n\n this.queue.push({\n ...danmu,\n $state: 'wait',\n $ref: null,\n $restTime: 0,\n $lastStartTime: 0,\n });\n\n return this;\n }\n\n destroy() {\n this.stop();\n if (this.worker && this.worker.terminate) this.worker.terminate();\n this.art.off('video:play', this.start);\n this.art.off('video:playing', this.start);\n this.art.off('video:pause', this.stop);\n this.art.off('video:waiting', this.stop);\n this.art.off('fullscreen', this.reset);\n this.art.off('fullscreenWeb', this.reset);\n this.art.off('destroy', this.destroy);\n this.art.emit('artplayerPluginDanmuku:destroy');\n }\n}\n","export function getMode(key) {\n switch (key) {\n case 1:\n case 2:\n case 3:\n return 0;\n case 4:\n case 5:\n return 1;\n default:\n return 0;\n }\n}\n\nexport function bilibiliDanmuParseFromXml(xmlString) {\n if (typeof xmlString !== 'string') return [];\n const srtList = xmlString.match(/[\\S ]*?)<\\/d>/gi);\n return srtList && 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) => bilibiliDanmuParseFromXml(xmlString));\n}\n","exports.interopDefault = function (a) {\n return a && a.__esModule ? a : {default: a};\n};\n\nexports.defineInteropFlag = function (a) {\n Object.defineProperty(a, '__esModule', {value: true});\n};\n\nexports.exportAll = function (source, dest) {\n Object.keys(source).forEach(function (key) {\n if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function () {\n return source[key];\n },\n });\n });\n\n return dest;\n};\n\nexports.export = function (dest, destName, get) {\n Object.defineProperty(dest, destName, {\n enumerable: true,\n get: get,\n });\n};\n","export default function getDanmuTop({\n target,\n emits,\n clientWidth,\n clientHeight,\n marginBottom,\n marginTop,\n antiOverlap,\n}) {\n const danmus = emits\n .filter((item) => item.mode === target.mode && item.top <= clientHeight - marginBottom)\n .sort((prev, next) => prev.top - next.top);\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: clientWidth,\n speed: 0,\n distance: clientWidth,\n });\n\n danmus.push({\n top: clientHeight - marginBottom,\n left: 0,\n right: 0,\n height: marginBottom,\n width: clientWidth,\n speed: 0,\n distance: clientWidth,\n });\n\n for (let index = 1; index < danmus.length; index += 1) {\n const item = danmus[index];\n const prev = danmus[index - 1];\n const prevBottom = prev.top + prev.height;\n const diff = item.top - prevBottom;\n if (diff >= target.height) {\n return prevBottom;\n }\n }\n\n const topMap = [];\n for (let index = 1; index < danmus.length - 1; index += 1) {\n const item = danmus[index];\n if (topMap.length) {\n const last = topMap[topMap.length - 1];\n if (last[0].top === item.top) {\n last.push(item);\n } else {\n topMap.push([item]);\n }\n } else {\n topMap.push([item]);\n }\n }\n\n if (antiOverlap) {\n switch (target.mode) {\n case 0: {\n const result = topMap.find((list) => {\n return list.every((danmu) => {\n if (clientWidth < danmu.distance) return false;\n if (target.speed < danmu.speed) return true;\n const overlapTime = danmu.right / (target.speed - danmu.speed);\n if (overlapTime > danmu.time) return true;\n return false;\n });\n });\n\n return result && result[0] ? result[0].top : undefined;\n }\n case 1:\n return undefined;\n default:\n break;\n }\n } else {\n switch (target.mode) {\n case 0:\n topMap.sort((prev, next) => {\n const nextMinRight = Math.min(...next.map((item) => item.right));\n const prevMinRight = Math.min(...prev.map((item) => item.right));\n return nextMinRight * next.length - prevMinRight * prev.length;\n });\n break;\n case 1:\n topMap.sort((prev, next) => {\n const nextMaxWidth = Math.max(...next.map((item) => item.width));\n const prevMaxWidth = Math.max(...prev.map((item) => item.width));\n return prevMaxWidth * prev.length - nextMaxWidth * next.length;\n });\n break;\n default:\n break;\n }\n\n return topMap[0][0].top;\n }\n}\n","module.exports = \"4eed92ff70f9a7c8\";","import style from 'bundle-text:./style.less';\nimport danmuOn from 'bundle-text:./img/danmu-on.svg';\nimport danmuOff from 'bundle-text:./img/danmu-off.svg';\nimport danmuConfig from 'bundle-text:./img/danmu-config.svg';\nimport danmuStyle from 'bundle-text:./img/danmu-style.svg';\n\nexport default function setting(art, danmuku) {\n const {\n template: { $controlsCenter },\n constructor: {\n utils: { removeClass, addClass, append, setStyle, tooltip, query, inverseClass },\n },\n } = art;\n\n function getIcon(svg, key) {\n const icon = document.createElement('i');\n append(icon, svg);\n addClass(icon, 'art-icon');\n addClass(icon, `art-icon-${key}`);\n setStyle(icon, 'width', '22px');\n setStyle(icon, 'height', '22px');\n return icon;\n }\n\n const $danmuOn = getIcon(danmuOn, 'danmu-on');\n const $danmuOff = getIcon(danmuOff, 'danmu-off');\n const $danmuConfig = getIcon(danmuConfig, 'danmu-config');\n const $danmuStyle = getIcon(danmuStyle, 'danmu-config');\n\n function addEmitter() {\n const colors = [\n '#FE0302',\n '#FF7204',\n '#FFAA02',\n '#FFD302',\n '#FFFF00',\n '#A0EE00',\n '#00CD00',\n '#019899',\n '#4266BE',\n '#89D5FF',\n '#CC0273',\n '#222222',\n '#9B9B9B',\n '#FFFFFF',\n ].map((item) => {\n const isCurrent = danmuku.option.color === item ? ' art-current' : '';\n return `
`;\n });\n\n const $emitter = append(\n $controlsCenter,\n `\n
\n
\n
\n
模式
\n
\n
滚动
\n
静止
\n
\n
颜色
\n
\n ${colors.join('')}\n
\n
\n
\n \n
发送
\n
\n `,\n );\n\n const $style = query('.art-danmuku-style', $emitter);\n const $input = query('.art-danmuku-input', $emitter);\n const $send = query('.art-danmuku-send', $emitter);\n const $panel = query('.art-danmuku-style-panel', $emitter);\n const $modes = query('.art-danmuku-style-panel-modes', $emitter);\n const $colors = query('.art-danmuku-style-panel-colors', $emitter);\n\n if (art.option.backdrop) {\n addClass($panel, 'art-backdrop-filter');\n }\n\n let timer = null;\n let mode = danmuku.option.mode;\n let color = danmuku.option.color;\n append($style, $danmuStyle);\n\n function countdown(time) {\n if (time === 0) {\n timer = null;\n $send.innerText = '发送';\n removeClass($send, 'art-disabled');\n } else {\n $send.innerText = time;\n timer = setTimeout(() => countdown(time - 1), 1000);\n }\n }\n\n function onSend() {\n const text = $input.value.trim();\n if (!text || timer) return;\n\n const danmu = {\n text,\n mode,\n color,\n border: true,\n };\n\n $input.value = '';\n danmuku.emit(danmu);\n addClass($send, 'art-disabled');\n countdown(danmuku.option.timeout || 5);\n art.emit('artplayerPluginDanmuku:emit', danmu);\n }\n\n art.proxy($send, 'click', onSend);\n\n art.proxy($input, 'keypress', (event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n onSend();\n }\n });\n\n art.proxy($modes, 'click', (event) => {\n const { dataset } = event.target;\n if (dataset.mode) {\n mode = Number(dataset.mode);\n inverseClass(event.target, 'art-current');\n }\n });\n\n art.proxy($colors, 'click', (event) => {\n const { dataset } = event.target;\n if (dataset.color) {\n color = dataset.color;\n inverseClass(event.target, 'art-current');\n }\n });\n\n art.on('resize', () => {\n setStyle($emitter, 'display', $controlsCenter.clientWidth < 150 ? 'none' : null);\n });\n }\n\n function addControl() {\n art.controls.add({\n position: 'right',\n name: 'danmuku',\n click: function () {\n if (danmuku.isHide) {\n danmuku.show();\n art.notice.show = '弹幕显示';\n setStyle($danmuOn, 'display', null);\n setStyle($danmuOff, 'display', 'none');\n } else {\n danmuku.hide();\n art.notice.show = '弹幕隐藏';\n setStyle($danmuOn, 'display', 'none');\n setStyle($danmuOff, 'display', null);\n }\n },\n mounted($ref) {\n append($ref, $danmuOn);\n append($ref, $danmuOff);\n tooltip($ref, '弹幕开关');\n setStyle($danmuOff, 'display', 'none');\n },\n });\n }\n\n function addSetting() {\n art.setting.add({\n name: 'danmuku',\n html: '弹幕设置',\n tooltip: '更多',\n icon: $danmuConfig,\n selector: [\n {\n width: 200,\n html: '播放速度',\n icon: '',\n tooltip: '适中',\n selector: [\n {\n html: '极慢',\n time: 10,\n },\n {\n html: '较慢',\n time: 7.5,\n },\n {\n default: true,\n html: '适中',\n time: 5,\n },\n {\n html: '较快',\n time: 2.5,\n },\n {\n html: '极快',\n time: 1,\n },\n ],\n onSelect: function (item) {\n danmuku.config({\n speed: item.time,\n });\n return item.html;\n },\n },\n {\n width: 200,\n html: '字体大小',\n icon: '',\n tooltip: '适中',\n selector: [\n {\n html: '极小',\n fontSize: '2%',\n },\n {\n html: '较小',\n fontSize: '4%',\n },\n {\n default: true,\n html: '适中',\n fontSize: '6%',\n },\n {\n html: '较大',\n fontSize: '8%',\n },\n {\n html: '极大',\n fontSize: '10%',\n },\n ],\n onSelect: function (item) {\n danmuku.config({\n fontSize: item.fontSize,\n });\n return item.html;\n },\n },\n {\n width: 200,\n html: '不透明度',\n icon: '',\n tooltip: '100%',\n selector: [\n {\n default: true,\n opacity: 1,\n html: '100%',\n },\n {\n opacity: 0.75,\n html: '75%',\n },\n {\n opacity: 0.5,\n html: '50%',\n },\n {\n opacity: 0.25,\n html: '25%',\n },\n {\n opacity: 0,\n html: '0%',\n },\n ],\n onSelect: function (item) {\n danmuku.config({\n opacity: item.opacity,\n });\n return item.html;\n },\n },\n {\n width: 200,\n html: '显示范围',\n icon: '',\n tooltip: '3/4',\n selector: [\n {\n html: '1/4',\n margin: [10, '75%'],\n },\n {\n html: '半屏',\n margin: [10, '50%'],\n },\n {\n default: true,\n html: '3/4',\n margin: [10, '25%'],\n },\n {\n html: '满屏',\n margin: [10, 10],\n },\n ],\n onSelect: function (item) {\n danmuku.config({\n margin: item.margin,\n });\n return item.html;\n },\n },\n {\n html: '弹幕防重叠',\n icon: '',\n tooltip: danmuku.option.antiOverlap ? '开启' : '关闭',\n switch: danmuku.option.antiOverlap,\n onSwitch(item) {\n danmuku.config({\n antiOverlap: !item.switch,\n });\n item.tooltip = item.switch ? '关闭' : '开启';\n return !item.switch;\n },\n },\n {\n html: '同步视频速度',\n icon: '',\n tooltip: danmuku.option.synchronousPlayback ? '开启' : '关闭',\n switch: danmuku.option.synchronousPlayback,\n onSwitch(item) {\n danmuku.config({\n synchronousPlayback: !item.switch,\n });\n item.tooltip = item.switch ? '关闭' : '开启';\n return !item.switch;\n },\n },\n ],\n });\n }\n\n art.on('ready', () => {\n addEmitter();\n addControl();\n addSetting();\n });\n}\n\nif (typeof document !== 'undefined') {\n if (!document.getElementById('artplayer-plugin-danmuku')) {\n const $style = document.createElement('style');\n $style.id = 'artplayer-plugin-danmuku';\n $style.textContent = style;\n document.head.appendChild($style);\n }\n}\n","module.exports = \"1af484fe1253ce64\";","module.exports = \"a41e824adf503c0d\";","module.exports = \"e0afa382f43c0112\";","module.exports = \"8a330c19349ee459\";","module.exports = \"760835473cfc5438\";"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../../packages/artplayer-plugin-danmuku/"} \ 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 6bca2983d..aeeb9ba77 100644 --- a/packages/artplayer-plugin-danmuku/src/setting.js +++ b/packages/artplayer-plugin-danmuku/src/setting.js @@ -292,20 +292,20 @@ export default function setting(art, danmuku) { selector: [ { html: '1/4', - margin: ['2%', '75%'], + margin: [10, '75%'], }, { html: '半屏', - margin: ['2%', '50%'], + margin: [10, '50%'], }, { default: true, html: '3/4', - margin: ['2%', '25%'], + margin: [10, '25%'], }, { html: '满屏', - margin: ['2%', '2%'], + margin: [10, 10], }, ], onSelect: function (item) {