From 92a38d6146e935c4c4f73c81c6977c6a1bd05033 Mon Sep 17 00:00:00 2001 From: zhw2590582 Date: Sat, 28 Mar 2020 19:53:13 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BC=B9=E5=B9=95?= =?UTF-8?q?=E9=9A=90=E8=97=8F=E5=A4=B1=E8=B4=A5=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .size-snapshot.json | 6 +++--- dist/artplayer-plugin-danmuku.js | 2 +- docs/uncompiled/artplayer-plugin-danmuku.js | 6 +++--- docs/uncompiled/artplayer-plugin-danmuku.js.map | 2 +- .../dist/artplayer-plugin-danmuku.js | 2 +- packages/artplayer-plugin-danmuku/src/danmuku.js | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.size-snapshot.json b/.size-snapshot.json index 2ba10095d..b3371e481 100644 --- a/.size-snapshot.json +++ b/.size-snapshot.json @@ -25,9 +25,9 @@ "gzipped": 2827 }, "packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js": { - "bundled": 23495, - "minified": 12499, - "gzipped": 4064 + "bundled": 23511, + "minified": 12515, + "gzipped": 4066 }, "packages/artplayer-vue/dist/artplayer-vue.js": { "bundled": 181464, diff --git a/dist/artplayer-plugin-danmuku.js b/dist/artplayer-plugin-danmuku.js index 09ea03931..35eee22b6 100644 --- a/dist/artplayer-plugin-danmuku.js +++ b/dist/artplayer-plugin-danmuku.js @@ -5,4 +5,4 @@ * Released under the MIT License. */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).artplayerPluginDanmuku=e()}(this,(function(){"use strict";var t=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t};var e=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};function n(t,e){for(var n=0;n'.concat(e.get("Danmu opacity"),': 100%
'),mounted:function(e){var i=e.querySelector("input[type=range]"),r=e.querySelector(".art-value");n(i,"change",(function(){var e=i.value;r.innerText=100*Number(e),t.plugins.artplayerPluginDanmuku.config({opacity:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){i.value!==t.opacity&&(i.value=t.opacity,r.innerText=100*t.opacity)}))}}}function o(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-size",index:11,html:'
'.concat(e.get("Danmu size"),': 25px
'),mounted:function(e){var i=e.querySelector("input[type=range]"),r=e.querySelector(".art-value");n(i,"change",(function(){var e=i.value;r.innerText=e,t.plugins.artplayerPluginDanmuku.config({fontSize:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){i.value!==t.fontSize&&(i.value=t.fontSize,r.innerText=t.fontSize)}))}}}function u(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-speed",index:12,html:'
'.concat(e.get("Danmu speed"),': 5s
'),mounted:function(e){var i=e.querySelector("input[type=range]"),r=e.querySelector(".art-value");n(i,"change",(function(){var e=i.value;r.innerText=e,t.plugins.artplayerPluginDanmuku.config({speed:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){i.value!==t.speed&&(i.value=t.speed,r.innerText=t.speed)}))}}}function s(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-synchronousPlayback",index:13,html:'"),mounted:function(e){var i=e.querySelector("input[type=checkbox]");n(i,"change",(function(){t.plugins.artplayerPluginDanmuku.config({synchronousPlayback:i.checked})})),t.on("artplayerPluginDanmuku:config",(function(t){i.checked!==t.synchronousPlayback&&(i.checked=t.synchronousPlayback)}))}}}function l(t,e,n){return t.filter((function(t){return t.$state===e})).map(n)}function c(t,e){var n=t.getBoundingClientRect();return e?n[e]:n}var p=function(t){if(Array.isArray(t))return t};var f=function(t,e){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t)){var n=[],i=!0,r=!1,a=void 0;try{for(var o,u=t[Symbol.iterator]();!(i=(o=u.next()).done)&&(n.push(o.value),!e||n.length!==e);i=!0);}catch(t){r=!0,a=t}finally{try{i||null==u.return||u.return()}finally{if(r)throw a}}return n}};var m=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")};var h=function(t,e){return p(t)||f(t,e)||m()};function d(t){switch(t){case 1:case 2:case 3:return 0;case 4:case 5:return 1;default:return 0}}function y(t){return fetch(t).then((function(t){return t.text()})).then((function(t){return function(t){if("string"!=typeof t)return[];var e=t.match(/[\S ]*?)<\/d>/gi);return e.length?e.map((function(t){var e=t.match(/(.+)<\/d>/),n=h(e,3),i=n[1],r=n[2],a=i.split(",");return 8===a.length&&r.trim()?{text:r,time:Number(a[0]),mode:d(Number(a[1])),fontSize:Number(a[2]),color:"#".concat(Number(a[3]).toString(16)),timestamp:Number(a[4]),pool:Number(a[5]),userID:a[6],rowID:Number(a[7])}:null})):[]}(t)}))}function g(t,e){var n=h(t.option.margin,2),i=n[0],r=n[1],a=c(t.art.template.$player),o=t.queue.filter((function(t){return t.mode===e.mode&&"emit"===t.$state&&t.$ref&&t.$ref.style.fontSize===e.$ref.style.fontSize&&parseFloat(t.$ref.style.top)<=a.height-r})).map((function(t){var e=c(t.$ref),n=e.width,i=e.height,r=e.top-a.top,o=e.left-a.left;return{top:r,left:o,height:i,width:n,right:a.width-o-n}})).sort((function(t,e){return t.top-e.top}));return 0===o.length?i:(o.unshift({top:0,left:0,right:0,height:i,width:a.width}),o.push({top:a.height-r,left:0,right:0,height:r,width:a.width}),function(t){for(var e=0,n={},i=0;io&&(e=c,o=p)}if(0===e)for(var f=0,m=0;mf)f=d,e=h(g,1)[0].top}if(0===e){var x=a.filter((function(t,e){return 0!==e&&e!==a.length-1})).sort((function(t,e){return n[t].length-n[e].length}));e=h(x,1)[0]}return e}(o))}function v(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}var b=function(){function n(t,i){var l=this;e(this,n),t.i18n.update(r),t.setting.add(a),t.setting.add(o),t.setting.add(u),t.setting.add(s),this.art=t,this.queue=[],this.option={},this.config(i),this.isStop=!1,this.animationFrameTimer=null,this.$danmuku=t.template.$danmuku,t.on("video:play",this.start.bind(this)),t.on("video:playing",this.start.bind(this)),t.on("video:pause",this.stop.bind(this)),t.on("video:waiting",this.stop.bind(this)),t.on("resize",this.resize.bind(this)),t.on("destroy",this.stop.bind(this)),"function"==typeof this.option.danmuku?this.option.danmuku().then((function(e){e.forEach(l.emit.bind(l)),t.emit("artplayerPluginDanmuku:loaded")})):"string"==typeof this.option.danmuku?y(this.option.danmuku).then((function(e){e.forEach(l.emit.bind(l)),t.emit("artplayerPluginDanmuku:loaded")})):(this.option.danmuku.forEach(this.emit.bind(this)),t.emit("artplayerPluginDanmuku:loaded"))}return i(n,[{key:"config",value:function(t){var e=this.art.constructor,i=e.utils.clamp,r=e.validator;this.option=Object.assign({},n.option,this.option,t),r(this.option,n.scheme),this.option.speed=i(this.option.speed,1,10),this.option.maxlength=i(this.option.maxlength,10,100),this.option.margin[0]=i(this.option.margin[0],0,100),this.option.margin[1]=i(this.option.margin[1],0,100),this.option.opacity=i(this.option.opacity,0,1),this.option.fontSize=i(this.option.fontSize,12,30),this.art.emit("artplayerPluginDanmuku:config",this.option)}},{key:"continue",value:function(){l(this.queue,"stop",(function(t){switch(t.$state="emit",t.$lastStartTime=Date.now(),t.mode){case 0:t.$ref.style.transform="translateX(".concat(-t.$restWidth,"px) translateY(0px) translateZ(0px)"),t.$ref.style.transition="transform ".concat(t.$restTime,"s linear 0s")}}))}},{key:"suspend",value:function(){var t=this.art.template.$player;l(this.queue,"emit",(function(e){switch(e.$state="stop",e.mode){case 0:var n=c(t),i=n.left,r=n.width-(c(e.$ref).left-i)+5;e.$ref.style.transform="translateX(".concat(-r,"px) translateY(0px) translateZ(0px)"),e.$ref.style.transition="transform 0s linear 0s"}}))}},{key:"resize",value:function(){var t=c(this.art.template.$player,"width");l(this.queue,"wait",(function(e){e.$ref&&(e.$ref.style.border="none",e.$ref.style.left="".concat(t,"px"),e.$ref.style.marginLeft="0px",e.$ref.style.transform="translateX(0px) translateY(0px) translateZ(0px)",e.$ref.style.transition="transform 0s linear 0s")}))}},{key:"update",value:function(){var t=this,e=this.art,n=e.player,i=e.template.$player;this.animationFrameTimer=window.requestAnimationFrame((function(){if(n.playing){var e=c(i,"width");l(t.queue,"emit",(function(t){t.$restTime-=(Date.now()-t.$lastStartTime)/1e3,t.$lastStartTime=Date.now(),t.$restTime<=0&&(t.$state="wait",t.$ref.style.border="none",t.$ref.style.left="".concat(e,"px"),t.$ref.style.marginLeft="0px",t.$ref.style.transform="translateX(0px) translateY(0px) translateZ(0px)",t.$ref.style.transition="transform 0s linear 0s")})),t.queue.filter((function(t){return n.currentTime+.1>=t.time&&t.time>=n.currentTime-.1&&"wait"===t.$state})).forEach((function(i){i.$ref=function(t){var e=t.find((function(t){return t.$ref&&"wait"===t.$state}));if(e){var n=e.$ref;return e.$ref=null,n}var i=document.createElement("div");return i.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 ',i}(t.queue),t.$danmuku.appendChild(i.$ref),i.$ref.style.opacity=t.option.opacity,i.$ref.style.fontSize="".concat(t.option.fontSize,"px"),i.$ref.innerText=i.text,i.$ref.style.color=i.color,i.$ref.style.border=i.border?"1px solid ".concat(i.color):"none",i.$restTime=t.option.synchronousPlayback&&n.playbackRate?t.option.speed/Number(n.playbackRate):t.option.speed,i.$lastStartTime=Date.now();var r=c(i.$ref,"width"),a=g(t,i);switch(i.$state="emit",i.mode){case 0:i.$restWidth=e+r+5,i.$ref.style.left="".concat(e,"px"),i.$ref.style.top="".concat(a,"px"),i.$ref.style.transform="translateX(".concat(-i.$restWidth,"px) translateY(0px) translateZ(0px)"),i.$ref.style.transition="transform ".concat(i.$restTime,"s linear 0s");break;case 1:i.$ref.style.top="".concat(a,"px"),i.$ref.style.left="50%",i.$ref.style.marginLeft="-".concat(r/2,"px")}}))}t.isStop||t.update()}))}},{key:"stop",value:function(){this.isStop=!0,this.suspend(),window.cancelAnimationFrame(this.animationFrameTimer),this.art.emit("artplayerPluginDanmuku:stop")}},{key:"start",value:function(){this.isStop=!1,this.continue(),this.update(),this.art.emit("artplayerPluginDanmuku:start")}},{key:"show",value:function(){this.$danmuku.style="block",this.art.emit("artplayerPluginDanmuku:show")}},{key:"hide",value:function(){this.$danmuku.style="none",this.art.emit("artplayerPluginDanmuku:hide")}},{key:"emit",value:function(e){var n=this.art,i=n.notice,r=n.player,a=n.i18n;e.text.trim()?e.text.length>this.option.maxlength?i.show="".concat(a.get("The length of the danmu does not exceed")," ").concat(this.option.maxlength):("number"!=typeof e.time&&(e.time=r.currentTime),this.queue.push(function(e){for(var n=1;n'.concat(e.get("Danmu opacity"),': 100%
'),mounted:function(e){var i=e.querySelector("input[type=range]"),r=e.querySelector(".art-value");n(i,"change",(function(){var e=i.value;r.innerText=100*Number(e),t.plugins.artplayerPluginDanmuku.config({opacity:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){i.value!==t.opacity&&(i.value=t.opacity,r.innerText=100*t.opacity)}))}}}function o(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-size",index:11,html:'
'.concat(e.get("Danmu size"),': 25px
'),mounted:function(e){var i=e.querySelector("input[type=range]"),r=e.querySelector(".art-value");n(i,"change",(function(){var e=i.value;r.innerText=e,t.plugins.artplayerPluginDanmuku.config({fontSize:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){i.value!==t.fontSize&&(i.value=t.fontSize,r.innerText=t.fontSize)}))}}}function u(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-speed",index:12,html:'
'.concat(e.get("Danmu speed"),': 5s
'),mounted:function(e){var i=e.querySelector("input[type=range]"),r=e.querySelector(".art-value");n(i,"change",(function(){var e=i.value;r.innerText=e,t.plugins.artplayerPluginDanmuku.config({speed:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){i.value!==t.speed&&(i.value=t.speed,r.innerText=t.speed)}))}}}function s(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-synchronousPlayback",index:13,html:'"),mounted:function(e){var i=e.querySelector("input[type=checkbox]");n(i,"change",(function(){t.plugins.artplayerPluginDanmuku.config({synchronousPlayback:i.checked})})),t.on("artplayerPluginDanmuku:config",(function(t){i.checked!==t.synchronousPlayback&&(i.checked=t.synchronousPlayback)}))}}}function l(t,e,n){return t.filter((function(t){return t.$state===e})).map(n)}function c(t,e){var n=t.getBoundingClientRect();return e?n[e]:n}var p=function(t){if(Array.isArray(t))return t};var f=function(t,e){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t)){var n=[],i=!0,r=!1,a=void 0;try{for(var o,u=t[Symbol.iterator]();!(i=(o=u.next()).done)&&(n.push(o.value),!e||n.length!==e);i=!0);}catch(t){r=!0,a=t}finally{try{i||null==u.return||u.return()}finally{if(r)throw a}}return n}};var m=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")};var h=function(t,e){return p(t)||f(t,e)||m()};function d(t){switch(t){case 1:case 2:case 3:return 0;case 4:case 5:return 1;default:return 0}}function y(t){return fetch(t).then((function(t){return t.text()})).then((function(t){return function(t){if("string"!=typeof t)return[];var e=t.match(/[\S ]*?)<\/d>/gi);return e.length?e.map((function(t){var e=t.match(/(.+)<\/d>/),n=h(e,3),i=n[1],r=n[2],a=i.split(",");return 8===a.length&&r.trim()?{text:r,time:Number(a[0]),mode:d(Number(a[1])),fontSize:Number(a[2]),color:"#".concat(Number(a[3]).toString(16)),timestamp:Number(a[4]),pool:Number(a[5]),userID:a[6],rowID:Number(a[7])}:null})):[]}(t)}))}function g(t,e){var n=h(t.option.margin,2),i=n[0],r=n[1],a=c(t.art.template.$player),o=t.queue.filter((function(t){return t.mode===e.mode&&"emit"===t.$state&&t.$ref&&t.$ref.style.fontSize===e.$ref.style.fontSize&&parseFloat(t.$ref.style.top)<=a.height-r})).map((function(t){var e=c(t.$ref),n=e.width,i=e.height,r=e.top-a.top,o=e.left-a.left;return{top:r,left:o,height:i,width:n,right:a.width-o-n}})).sort((function(t,e){return t.top-e.top}));return 0===o.length?i:(o.unshift({top:0,left:0,right:0,height:i,width:a.width}),o.push({top:a.height-r,left:0,right:0,height:r,width:a.width}),function(t){for(var e=0,n={},i=0;io&&(e=c,o=p)}if(0===e)for(var f=0,m=0;mf)f=d,e=h(g,1)[0].top}if(0===e){var x=a.filter((function(t,e){return 0!==e&&e!==a.length-1})).sort((function(t,e){return n[t].length-n[e].length}));e=h(x,1)[0]}return e}(o))}function v(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}var b=function(){function n(t,i){var l=this;e(this,n),t.i18n.update(r),t.setting.add(a),t.setting.add(o),t.setting.add(u),t.setting.add(s),this.art=t,this.queue=[],this.option={},this.config(i),this.isStop=!1,this.animationFrameTimer=null,this.$danmuku=t.template.$danmuku,t.on("video:play",this.start.bind(this)),t.on("video:playing",this.start.bind(this)),t.on("video:pause",this.stop.bind(this)),t.on("video:waiting",this.stop.bind(this)),t.on("resize",this.resize.bind(this)),t.on("destroy",this.stop.bind(this)),"function"==typeof this.option.danmuku?this.option.danmuku().then((function(e){e.forEach(l.emit.bind(l)),t.emit("artplayerPluginDanmuku:loaded")})):"string"==typeof this.option.danmuku?y(this.option.danmuku).then((function(e){e.forEach(l.emit.bind(l)),t.emit("artplayerPluginDanmuku:loaded")})):(this.option.danmuku.forEach(this.emit.bind(this)),t.emit("artplayerPluginDanmuku:loaded"))}return i(n,[{key:"config",value:function(t){var e=this.art.constructor,i=e.utils.clamp,r=e.validator;this.option=Object.assign({},n.option,this.option,t),r(this.option,n.scheme),this.option.speed=i(this.option.speed,1,10),this.option.maxlength=i(this.option.maxlength,10,100),this.option.margin[0]=i(this.option.margin[0],0,100),this.option.margin[1]=i(this.option.margin[1],0,100),this.option.opacity=i(this.option.opacity,0,1),this.option.fontSize=i(this.option.fontSize,12,30),this.art.emit("artplayerPluginDanmuku:config",this.option)}},{key:"continue",value:function(){l(this.queue,"stop",(function(t){switch(t.$state="emit",t.$lastStartTime=Date.now(),t.mode){case 0:t.$ref.style.transform="translateX(".concat(-t.$restWidth,"px) translateY(0px) translateZ(0px)"),t.$ref.style.transition="transform ".concat(t.$restTime,"s linear 0s")}}))}},{key:"suspend",value:function(){var t=this.art.template.$player;l(this.queue,"emit",(function(e){switch(e.$state="stop",e.mode){case 0:var n=c(t),i=n.left,r=n.width-(c(e.$ref).left-i)+5;e.$ref.style.transform="translateX(".concat(-r,"px) translateY(0px) translateZ(0px)"),e.$ref.style.transition="transform 0s linear 0s"}}))}},{key:"resize",value:function(){var t=c(this.art.template.$player,"width");l(this.queue,"wait",(function(e){e.$ref&&(e.$ref.style.border="none",e.$ref.style.left="".concat(t,"px"),e.$ref.style.marginLeft="0px",e.$ref.style.transform="translateX(0px) translateY(0px) translateZ(0px)",e.$ref.style.transition="transform 0s linear 0s")}))}},{key:"update",value:function(){var t=this,e=this.art,n=e.player,i=e.template.$player;this.animationFrameTimer=window.requestAnimationFrame((function(){if(n.playing){var e=c(i,"width");l(t.queue,"emit",(function(t){t.$restTime-=(Date.now()-t.$lastStartTime)/1e3,t.$lastStartTime=Date.now(),t.$restTime<=0&&(t.$state="wait",t.$ref.style.border="none",t.$ref.style.left="".concat(e,"px"),t.$ref.style.marginLeft="0px",t.$ref.style.transform="translateX(0px) translateY(0px) translateZ(0px)",t.$ref.style.transition="transform 0s linear 0s")})),t.queue.filter((function(t){return n.currentTime+.1>=t.time&&t.time>=n.currentTime-.1&&"wait"===t.$state})).forEach((function(i){i.$ref=function(t){var e=t.find((function(t){return t.$ref&&"wait"===t.$state}));if(e){var n=e.$ref;return e.$ref=null,n}var i=document.createElement("div");return i.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 ',i}(t.queue),t.$danmuku.appendChild(i.$ref),i.$ref.style.opacity=t.option.opacity,i.$ref.style.fontSize="".concat(t.option.fontSize,"px"),i.$ref.innerText=i.text,i.$ref.style.color=i.color,i.$ref.style.border=i.border?"1px solid ".concat(i.color):"none",i.$restTime=t.option.synchronousPlayback&&n.playbackRate?t.option.speed/Number(n.playbackRate):t.option.speed,i.$lastStartTime=Date.now();var r=c(i.$ref,"width"),a=g(t,i);switch(i.$state="emit",i.mode){case 0:i.$restWidth=e+r+5,i.$ref.style.left="".concat(e,"px"),i.$ref.style.top="".concat(a,"px"),i.$ref.style.transform="translateX(".concat(-i.$restWidth,"px) translateY(0px) translateZ(0px)"),i.$ref.style.transition="transform ".concat(i.$restTime,"s linear 0s");break;case 1:i.$ref.style.top="".concat(a,"px"),i.$ref.style.left="50%",i.$ref.style.marginLeft="-".concat(r/2,"px")}}))}t.isStop||t.update()}))}},{key:"stop",value:function(){this.isStop=!0,this.suspend(),window.cancelAnimationFrame(this.animationFrameTimer),this.art.emit("artplayerPluginDanmuku:stop")}},{key:"start",value:function(){this.isStop=!1,this.continue(),this.update(),this.art.emit("artplayerPluginDanmuku:start")}},{key:"show",value:function(){this.$danmuku.style.display="block",this.art.emit("artplayerPluginDanmuku:show")}},{key:"hide",value:function(){this.$danmuku.style.display="none",this.art.emit("artplayerPluginDanmuku:hide")}},{key:"emit",value:function(e){var n=this.art,i=n.notice,r=n.player,a=n.i18n;e.text.trim()?e.text.length>this.option.maxlength?i.show="".concat(a.get("The length of the danmu does not exceed")," ").concat(this.option.maxlength):("number"!=typeof e.time&&(e.time=r.currentTime),this.queue.push(function(e){for(var n=1;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 if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\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 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.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(\n `${corsUrl}https://api.bilibili.com/x/v1/dm/list.so?oid=${res.data.cid}`,\n );\n }\n throw new Error(`Unable to get data: ${JSON.stringify(res)}`);\n });\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) => 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: 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 0:\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 0: {\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(\n danmu =>\n player.currentTime + 0.1 >= danmu.time &&\n danmu.time >= player.currentTime - 0.1 &&\n danmu.$state === 'wait',\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.playbackRate\n ? this.option.speed / Number(player.playbackRate)\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 0: {\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 1:\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: 0,\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","playbackRate","danmuWidth","danmuTop","suspend","cancelAnimationFrame","continue","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/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;","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 'Danmu speed synchronous playback multiple': '弹幕速度同步播放倍数',\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 'Danmu speed synchronous playback multiple': '彈幕速度同步播放倍數',\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 if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\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 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.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(\n `${corsUrl}https://api.bilibili.com/x/v1/dm/list.so?oid=${res.data.cid}`,\n );\n }\n throw new Error(`Unable to get data: ${JSON.stringify(res)}`);\n });\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) => 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: 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 0:\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 0: {\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(\n danmu =>\n player.currentTime + 0.1 >= danmu.time &&\n danmu.time >= player.currentTime - 0.1 &&\n danmu.$state === 'wait',\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.playbackRate\n ? this.option.speed / Number(player.playbackRate)\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 0: {\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 1:\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.display = 'block';\n this.art.emit('artplayerPluginDanmuku:show');\n }\n\n hide() {\n this.$danmuku.style.display = '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: 0,\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","playbackRate","danmuWidth","danmuTop","suspend","cancelAnimationFrame","continue","display","notice","show","hide"],"mappings":"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"} \ No newline at end of file diff --git a/packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js b/packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js index 09ea03931..35eee22b6 100644 --- a/packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js +++ b/packages/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js @@ -5,4 +5,4 @@ * Released under the MIT License. */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).artplayerPluginDanmuku=e()}(this,(function(){"use strict";var t=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t};var e=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};function n(t,e){for(var n=0;n'.concat(e.get("Danmu opacity"),': 100%
'),mounted:function(e){var i=e.querySelector("input[type=range]"),r=e.querySelector(".art-value");n(i,"change",(function(){var e=i.value;r.innerText=100*Number(e),t.plugins.artplayerPluginDanmuku.config({opacity:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){i.value!==t.opacity&&(i.value=t.opacity,r.innerText=100*t.opacity)}))}}}function o(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-size",index:11,html:'
'.concat(e.get("Danmu size"),': 25px
'),mounted:function(e){var i=e.querySelector("input[type=range]"),r=e.querySelector(".art-value");n(i,"change",(function(){var e=i.value;r.innerText=e,t.plugins.artplayerPluginDanmuku.config({fontSize:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){i.value!==t.fontSize&&(i.value=t.fontSize,r.innerText=t.fontSize)}))}}}function u(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-speed",index:12,html:'
'.concat(e.get("Danmu speed"),': 5s
'),mounted:function(e){var i=e.querySelector("input[type=range]"),r=e.querySelector(".art-value");n(i,"change",(function(){var e=i.value;r.innerText=e,t.plugins.artplayerPluginDanmuku.config({speed:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){i.value!==t.speed&&(i.value=t.speed,r.innerText=t.speed)}))}}}function s(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-synchronousPlayback",index:13,html:'"),mounted:function(e){var i=e.querySelector("input[type=checkbox]");n(i,"change",(function(){t.plugins.artplayerPluginDanmuku.config({synchronousPlayback:i.checked})})),t.on("artplayerPluginDanmuku:config",(function(t){i.checked!==t.synchronousPlayback&&(i.checked=t.synchronousPlayback)}))}}}function l(t,e,n){return t.filter((function(t){return t.$state===e})).map(n)}function c(t,e){var n=t.getBoundingClientRect();return e?n[e]:n}var p=function(t){if(Array.isArray(t))return t};var f=function(t,e){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t)){var n=[],i=!0,r=!1,a=void 0;try{for(var o,u=t[Symbol.iterator]();!(i=(o=u.next()).done)&&(n.push(o.value),!e||n.length!==e);i=!0);}catch(t){r=!0,a=t}finally{try{i||null==u.return||u.return()}finally{if(r)throw a}}return n}};var m=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")};var h=function(t,e){return p(t)||f(t,e)||m()};function d(t){switch(t){case 1:case 2:case 3:return 0;case 4:case 5:return 1;default:return 0}}function y(t){return fetch(t).then((function(t){return t.text()})).then((function(t){return function(t){if("string"!=typeof t)return[];var e=t.match(/[\S ]*?)<\/d>/gi);return e.length?e.map((function(t){var e=t.match(/(.+)<\/d>/),n=h(e,3),i=n[1],r=n[2],a=i.split(",");return 8===a.length&&r.trim()?{text:r,time:Number(a[0]),mode:d(Number(a[1])),fontSize:Number(a[2]),color:"#".concat(Number(a[3]).toString(16)),timestamp:Number(a[4]),pool:Number(a[5]),userID:a[6],rowID:Number(a[7])}:null})):[]}(t)}))}function g(t,e){var n=h(t.option.margin,2),i=n[0],r=n[1],a=c(t.art.template.$player),o=t.queue.filter((function(t){return t.mode===e.mode&&"emit"===t.$state&&t.$ref&&t.$ref.style.fontSize===e.$ref.style.fontSize&&parseFloat(t.$ref.style.top)<=a.height-r})).map((function(t){var e=c(t.$ref),n=e.width,i=e.height,r=e.top-a.top,o=e.left-a.left;return{top:r,left:o,height:i,width:n,right:a.width-o-n}})).sort((function(t,e){return t.top-e.top}));return 0===o.length?i:(o.unshift({top:0,left:0,right:0,height:i,width:a.width}),o.push({top:a.height-r,left:0,right:0,height:r,width:a.width}),function(t){for(var e=0,n={},i=0;io&&(e=c,o=p)}if(0===e)for(var f=0,m=0;mf)f=d,e=h(g,1)[0].top}if(0===e){var x=a.filter((function(t,e){return 0!==e&&e!==a.length-1})).sort((function(t,e){return n[t].length-n[e].length}));e=h(x,1)[0]}return e}(o))}function v(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}var b=function(){function n(t,i){var l=this;e(this,n),t.i18n.update(r),t.setting.add(a),t.setting.add(o),t.setting.add(u),t.setting.add(s),this.art=t,this.queue=[],this.option={},this.config(i),this.isStop=!1,this.animationFrameTimer=null,this.$danmuku=t.template.$danmuku,t.on("video:play",this.start.bind(this)),t.on("video:playing",this.start.bind(this)),t.on("video:pause",this.stop.bind(this)),t.on("video:waiting",this.stop.bind(this)),t.on("resize",this.resize.bind(this)),t.on("destroy",this.stop.bind(this)),"function"==typeof this.option.danmuku?this.option.danmuku().then((function(e){e.forEach(l.emit.bind(l)),t.emit("artplayerPluginDanmuku:loaded")})):"string"==typeof this.option.danmuku?y(this.option.danmuku).then((function(e){e.forEach(l.emit.bind(l)),t.emit("artplayerPluginDanmuku:loaded")})):(this.option.danmuku.forEach(this.emit.bind(this)),t.emit("artplayerPluginDanmuku:loaded"))}return i(n,[{key:"config",value:function(t){var e=this.art.constructor,i=e.utils.clamp,r=e.validator;this.option=Object.assign({},n.option,this.option,t),r(this.option,n.scheme),this.option.speed=i(this.option.speed,1,10),this.option.maxlength=i(this.option.maxlength,10,100),this.option.margin[0]=i(this.option.margin[0],0,100),this.option.margin[1]=i(this.option.margin[1],0,100),this.option.opacity=i(this.option.opacity,0,1),this.option.fontSize=i(this.option.fontSize,12,30),this.art.emit("artplayerPluginDanmuku:config",this.option)}},{key:"continue",value:function(){l(this.queue,"stop",(function(t){switch(t.$state="emit",t.$lastStartTime=Date.now(),t.mode){case 0:t.$ref.style.transform="translateX(".concat(-t.$restWidth,"px) translateY(0px) translateZ(0px)"),t.$ref.style.transition="transform ".concat(t.$restTime,"s linear 0s")}}))}},{key:"suspend",value:function(){var t=this.art.template.$player;l(this.queue,"emit",(function(e){switch(e.$state="stop",e.mode){case 0:var n=c(t),i=n.left,r=n.width-(c(e.$ref).left-i)+5;e.$ref.style.transform="translateX(".concat(-r,"px) translateY(0px) translateZ(0px)"),e.$ref.style.transition="transform 0s linear 0s"}}))}},{key:"resize",value:function(){var t=c(this.art.template.$player,"width");l(this.queue,"wait",(function(e){e.$ref&&(e.$ref.style.border="none",e.$ref.style.left="".concat(t,"px"),e.$ref.style.marginLeft="0px",e.$ref.style.transform="translateX(0px) translateY(0px) translateZ(0px)",e.$ref.style.transition="transform 0s linear 0s")}))}},{key:"update",value:function(){var t=this,e=this.art,n=e.player,i=e.template.$player;this.animationFrameTimer=window.requestAnimationFrame((function(){if(n.playing){var e=c(i,"width");l(t.queue,"emit",(function(t){t.$restTime-=(Date.now()-t.$lastStartTime)/1e3,t.$lastStartTime=Date.now(),t.$restTime<=0&&(t.$state="wait",t.$ref.style.border="none",t.$ref.style.left="".concat(e,"px"),t.$ref.style.marginLeft="0px",t.$ref.style.transform="translateX(0px) translateY(0px) translateZ(0px)",t.$ref.style.transition="transform 0s linear 0s")})),t.queue.filter((function(t){return n.currentTime+.1>=t.time&&t.time>=n.currentTime-.1&&"wait"===t.$state})).forEach((function(i){i.$ref=function(t){var e=t.find((function(t){return t.$ref&&"wait"===t.$state}));if(e){var n=e.$ref;return e.$ref=null,n}var i=document.createElement("div");return i.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 ',i}(t.queue),t.$danmuku.appendChild(i.$ref),i.$ref.style.opacity=t.option.opacity,i.$ref.style.fontSize="".concat(t.option.fontSize,"px"),i.$ref.innerText=i.text,i.$ref.style.color=i.color,i.$ref.style.border=i.border?"1px solid ".concat(i.color):"none",i.$restTime=t.option.synchronousPlayback&&n.playbackRate?t.option.speed/Number(n.playbackRate):t.option.speed,i.$lastStartTime=Date.now();var r=c(i.$ref,"width"),a=g(t,i);switch(i.$state="emit",i.mode){case 0:i.$restWidth=e+r+5,i.$ref.style.left="".concat(e,"px"),i.$ref.style.top="".concat(a,"px"),i.$ref.style.transform="translateX(".concat(-i.$restWidth,"px) translateY(0px) translateZ(0px)"),i.$ref.style.transition="transform ".concat(i.$restTime,"s linear 0s");break;case 1:i.$ref.style.top="".concat(a,"px"),i.$ref.style.left="50%",i.$ref.style.marginLeft="-".concat(r/2,"px")}}))}t.isStop||t.update()}))}},{key:"stop",value:function(){this.isStop=!0,this.suspend(),window.cancelAnimationFrame(this.animationFrameTimer),this.art.emit("artplayerPluginDanmuku:stop")}},{key:"start",value:function(){this.isStop=!1,this.continue(),this.update(),this.art.emit("artplayerPluginDanmuku:start")}},{key:"show",value:function(){this.$danmuku.style="block",this.art.emit("artplayerPluginDanmuku:show")}},{key:"hide",value:function(){this.$danmuku.style="none",this.art.emit("artplayerPluginDanmuku:hide")}},{key:"emit",value:function(e){var n=this.art,i=n.notice,r=n.player,a=n.i18n;e.text.trim()?e.text.length>this.option.maxlength?i.show="".concat(a.get("The length of the danmu does not exceed")," ").concat(this.option.maxlength):("number"!=typeof e.time&&(e.time=r.currentTime),this.queue.push(function(e){for(var n=1;n'.concat(e.get("Danmu opacity"),': 100%
'),mounted:function(e){var i=e.querySelector("input[type=range]"),r=e.querySelector(".art-value");n(i,"change",(function(){var e=i.value;r.innerText=100*Number(e),t.plugins.artplayerPluginDanmuku.config({opacity:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){i.value!==t.opacity&&(i.value=t.opacity,r.innerText=100*t.opacity)}))}}}function o(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-size",index:11,html:'
'.concat(e.get("Danmu size"),': 25px
'),mounted:function(e){var i=e.querySelector("input[type=range]"),r=e.querySelector(".art-value");n(i,"change",(function(){var e=i.value;r.innerText=e,t.plugins.artplayerPluginDanmuku.config({fontSize:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){i.value!==t.fontSize&&(i.value=t.fontSize,r.innerText=t.fontSize)}))}}}function u(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-speed",index:12,html:'
'.concat(e.get("Danmu speed"),': 5s
'),mounted:function(e){var i=e.querySelector("input[type=range]"),r=e.querySelector(".art-value");n(i,"change",(function(){var e=i.value;r.innerText=e,t.plugins.artplayerPluginDanmuku.config({speed:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){i.value!==t.speed&&(i.value=t.speed,r.innerText=t.speed)}))}}}function s(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-synchronousPlayback",index:13,html:'"),mounted:function(e){var i=e.querySelector("input[type=checkbox]");n(i,"change",(function(){t.plugins.artplayerPluginDanmuku.config({synchronousPlayback:i.checked})})),t.on("artplayerPluginDanmuku:config",(function(t){i.checked!==t.synchronousPlayback&&(i.checked=t.synchronousPlayback)}))}}}function l(t,e,n){return t.filter((function(t){return t.$state===e})).map(n)}function c(t,e){var n=t.getBoundingClientRect();return e?n[e]:n}var p=function(t){if(Array.isArray(t))return t};var f=function(t,e){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t)){var n=[],i=!0,r=!1,a=void 0;try{for(var o,u=t[Symbol.iterator]();!(i=(o=u.next()).done)&&(n.push(o.value),!e||n.length!==e);i=!0);}catch(t){r=!0,a=t}finally{try{i||null==u.return||u.return()}finally{if(r)throw a}}return n}};var m=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")};var h=function(t,e){return p(t)||f(t,e)||m()};function d(t){switch(t){case 1:case 2:case 3:return 0;case 4:case 5:return 1;default:return 0}}function y(t){return fetch(t).then((function(t){return t.text()})).then((function(t){return function(t){if("string"!=typeof t)return[];var e=t.match(/[\S ]*?)<\/d>/gi);return e.length?e.map((function(t){var e=t.match(/(.+)<\/d>/),n=h(e,3),i=n[1],r=n[2],a=i.split(",");return 8===a.length&&r.trim()?{text:r,time:Number(a[0]),mode:d(Number(a[1])),fontSize:Number(a[2]),color:"#".concat(Number(a[3]).toString(16)),timestamp:Number(a[4]),pool:Number(a[5]),userID:a[6],rowID:Number(a[7])}:null})):[]}(t)}))}function g(t,e){var n=h(t.option.margin,2),i=n[0],r=n[1],a=c(t.art.template.$player),o=t.queue.filter((function(t){return t.mode===e.mode&&"emit"===t.$state&&t.$ref&&t.$ref.style.fontSize===e.$ref.style.fontSize&&parseFloat(t.$ref.style.top)<=a.height-r})).map((function(t){var e=c(t.$ref),n=e.width,i=e.height,r=e.top-a.top,o=e.left-a.left;return{top:r,left:o,height:i,width:n,right:a.width-o-n}})).sort((function(t,e){return t.top-e.top}));return 0===o.length?i:(o.unshift({top:0,left:0,right:0,height:i,width:a.width}),o.push({top:a.height-r,left:0,right:0,height:r,width:a.width}),function(t){for(var e=0,n={},i=0;io&&(e=c,o=p)}if(0===e)for(var f=0,m=0;mf)f=d,e=h(g,1)[0].top}if(0===e){var x=a.filter((function(t,e){return 0!==e&&e!==a.length-1})).sort((function(t,e){return n[t].length-n[e].length}));e=h(x,1)[0]}return e}(o))}function v(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}var b=function(){function n(t,i){var l=this;e(this,n),t.i18n.update(r),t.setting.add(a),t.setting.add(o),t.setting.add(u),t.setting.add(s),this.art=t,this.queue=[],this.option={},this.config(i),this.isStop=!1,this.animationFrameTimer=null,this.$danmuku=t.template.$danmuku,t.on("video:play",this.start.bind(this)),t.on("video:playing",this.start.bind(this)),t.on("video:pause",this.stop.bind(this)),t.on("video:waiting",this.stop.bind(this)),t.on("resize",this.resize.bind(this)),t.on("destroy",this.stop.bind(this)),"function"==typeof this.option.danmuku?this.option.danmuku().then((function(e){e.forEach(l.emit.bind(l)),t.emit("artplayerPluginDanmuku:loaded")})):"string"==typeof this.option.danmuku?y(this.option.danmuku).then((function(e){e.forEach(l.emit.bind(l)),t.emit("artplayerPluginDanmuku:loaded")})):(this.option.danmuku.forEach(this.emit.bind(this)),t.emit("artplayerPluginDanmuku:loaded"))}return i(n,[{key:"config",value:function(t){var e=this.art.constructor,i=e.utils.clamp,r=e.validator;this.option=Object.assign({},n.option,this.option,t),r(this.option,n.scheme),this.option.speed=i(this.option.speed,1,10),this.option.maxlength=i(this.option.maxlength,10,100),this.option.margin[0]=i(this.option.margin[0],0,100),this.option.margin[1]=i(this.option.margin[1],0,100),this.option.opacity=i(this.option.opacity,0,1),this.option.fontSize=i(this.option.fontSize,12,30),this.art.emit("artplayerPluginDanmuku:config",this.option)}},{key:"continue",value:function(){l(this.queue,"stop",(function(t){switch(t.$state="emit",t.$lastStartTime=Date.now(),t.mode){case 0:t.$ref.style.transform="translateX(".concat(-t.$restWidth,"px) translateY(0px) translateZ(0px)"),t.$ref.style.transition="transform ".concat(t.$restTime,"s linear 0s")}}))}},{key:"suspend",value:function(){var t=this.art.template.$player;l(this.queue,"emit",(function(e){switch(e.$state="stop",e.mode){case 0:var n=c(t),i=n.left,r=n.width-(c(e.$ref).left-i)+5;e.$ref.style.transform="translateX(".concat(-r,"px) translateY(0px) translateZ(0px)"),e.$ref.style.transition="transform 0s linear 0s"}}))}},{key:"resize",value:function(){var t=c(this.art.template.$player,"width");l(this.queue,"wait",(function(e){e.$ref&&(e.$ref.style.border="none",e.$ref.style.left="".concat(t,"px"),e.$ref.style.marginLeft="0px",e.$ref.style.transform="translateX(0px) translateY(0px) translateZ(0px)",e.$ref.style.transition="transform 0s linear 0s")}))}},{key:"update",value:function(){var t=this,e=this.art,n=e.player,i=e.template.$player;this.animationFrameTimer=window.requestAnimationFrame((function(){if(n.playing){var e=c(i,"width");l(t.queue,"emit",(function(t){t.$restTime-=(Date.now()-t.$lastStartTime)/1e3,t.$lastStartTime=Date.now(),t.$restTime<=0&&(t.$state="wait",t.$ref.style.border="none",t.$ref.style.left="".concat(e,"px"),t.$ref.style.marginLeft="0px",t.$ref.style.transform="translateX(0px) translateY(0px) translateZ(0px)",t.$ref.style.transition="transform 0s linear 0s")})),t.queue.filter((function(t){return n.currentTime+.1>=t.time&&t.time>=n.currentTime-.1&&"wait"===t.$state})).forEach((function(i){i.$ref=function(t){var e=t.find((function(t){return t.$ref&&"wait"===t.$state}));if(e){var n=e.$ref;return e.$ref=null,n}var i=document.createElement("div");return i.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 ',i}(t.queue),t.$danmuku.appendChild(i.$ref),i.$ref.style.opacity=t.option.opacity,i.$ref.style.fontSize="".concat(t.option.fontSize,"px"),i.$ref.innerText=i.text,i.$ref.style.color=i.color,i.$ref.style.border=i.border?"1px solid ".concat(i.color):"none",i.$restTime=t.option.synchronousPlayback&&n.playbackRate?t.option.speed/Number(n.playbackRate):t.option.speed,i.$lastStartTime=Date.now();var r=c(i.$ref,"width"),a=g(t,i);switch(i.$state="emit",i.mode){case 0:i.$restWidth=e+r+5,i.$ref.style.left="".concat(e,"px"),i.$ref.style.top="".concat(a,"px"),i.$ref.style.transform="translateX(".concat(-i.$restWidth,"px) translateY(0px) translateZ(0px)"),i.$ref.style.transition="transform ".concat(i.$restTime,"s linear 0s");break;case 1:i.$ref.style.top="".concat(a,"px"),i.$ref.style.left="50%",i.$ref.style.marginLeft="-".concat(r/2,"px")}}))}t.isStop||t.update()}))}},{key:"stop",value:function(){this.isStop=!0,this.suspend(),window.cancelAnimationFrame(this.animationFrameTimer),this.art.emit("artplayerPluginDanmuku:stop")}},{key:"start",value:function(){this.isStop=!1,this.continue(),this.update(),this.art.emit("artplayerPluginDanmuku:start")}},{key:"show",value:function(){this.$danmuku.style.display="block",this.art.emit("artplayerPluginDanmuku:show")}},{key:"hide",value:function(){this.$danmuku.style.display="none",this.art.emit("artplayerPluginDanmuku:hide")}},{key:"emit",value:function(e){var n=this.art,i=n.notice,r=n.player,a=n.i18n;e.text.trim()?e.text.length>this.option.maxlength?i.show="".concat(a.get("The length of the danmu does not exceed")," ").concat(this.option.maxlength):("number"!=typeof e.time&&(e.time=r.currentTime),this.queue.push(function(e){for(var n=1;n Date: Sun, 29 Mar 2020 11:07:12 +0800 Subject: [PATCH 2/3] Update index.html --- docs/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.html b/docs/index.html index 0c505b467..2728b53aa 100644 --- a/docs/index.html +++ b/docs/index.html @@ -28,13 +28,13 @@
    From eaa1e4d599f00c679a680aa10e247f102881b540 Mon Sep 17 00:00:00 2001 From: Hitsuki9 <31876031+Hitsuki9@users.noreply.github.com> Date: Mon, 30 Mar 2020 10:47:48 +0800 Subject: [PATCH 3/3] Update pauseMix.js --- packages/artplayer/src/player/pauseMix.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/artplayer/src/player/pauseMix.js b/packages/artplayer/src/player/pauseMix.js index 0e88cd069..8a71cb059 100644 --- a/packages/artplayer/src/player/pauseMix.js +++ b/packages/artplayer/src/player/pauseMix.js @@ -1,6 +1,6 @@ import { def } from '../utils'; -export default function pauseMin(art, player) { +export default function pauseMix(art, player) { const { template: { $video }, i18n,