mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-24 06:31:20 -08:00
build all
Refactor utility functions for improved readability and consistency - Updated compatibility.js to use consistent line endings and formatting. - Refactored component.js for better readability and structure, including consistent use of arrow functions and binding. - Simplified dom.js functions with consistent formatting and improved readability. - Enhanced emitter.js with consistent formatting and arrow function usage. - Streamlined error.js for improved readability and consistency. - Refactored file.js to use consistent formatting and improved readability. - Improved format.js functions for better readability and consistency. - Updated index.js to maintain consistent export formatting. - Refactored property.js for improved readability and consistency. - Enhanced subtitle.js with consistent formatting and improved readability. - Refactored time.js for better readability and consistent formatting. fix: update lint script to target only source files for consistency Revert "fix: restore export statements for various plugins and update type definitions for better clarity" This reverts commit b5e969d81ec765cd8a34b06e6ef4f232ef25087f. fix: restore export statements for various plugins and update type definitions for better clarity Refactor type definitions to use interfaces instead of type aliases for better extensibility and clarity across i18n, icons, option, player, quality, setting, subtitle, template, and utils modules.
This commit is contained in:
1 parent
532dd67cfd
commit
35ad9883af
447 files changed
+18248
-17946
No files matched your search
@@ -5,5 +5,5 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,n,l,t,i,a,r,o){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},p="function"==typeof d[t]&&d[t],s=p.i||{},u=p.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function y(n,l){if(!u[n]){if(!e[n]){if(i[n])return i[n];var a="function"==typeof d[t]&&d[t];if(!l&&a)return a(n,!0);if(p)return p(n,!0);if(c&&"string"==typeof n)return c(n);var r=Error("Cannot find module '"+n+"'");throw r.code="MODULE_NOT_FOUND",r}s.resolve=function(l){var t=e[n][1][l];return null!=t?t:l},s.cache={};var o=u[n]=new y.Module(n);e[n][0].call(o.exports,s,o,o.exports,d)}return u[n].exports;function s(e){var n=s.resolve(e);return!1===n?{}:y(n)}}y.isParcelRequire=!0,y.Module=function(e){this.id=e,this.bundle=y,this.require=c,this.exports={}},y.modules=e,y.cache=u,y.parent=p,y.distDir=void 0,y.publicUrl=void 0,y.devServer=void 0,y.i=s,y.register=function(n,l){e[n]=[function(e,n){n.exports=l},{}]},Object.defineProperty(y,"root",{get:function(){return d[t]}}),d[t]=y;for(var f=0;f<n.length;f++)y(n[f]);if(l){var g=y(l);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({"4omrA":[function(e,n,l,t){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(l),i.export(l,"default",()=>o);var a=e("bundle-text:./style.less"),r=i.interopDefault(a);function o(e){return n=>{let{version:l,utils:{errorHandle:t}}=n.constructor,i=l.split(".").map(Number);t(i[0]+i[1]/100>=5,`Artplayer.js@${l} is not compatible the artplayerPluginAds@${o.version}. Please update it to version Artplayer.js@5.x.x`);let{template:{$player:a},icons:{volume:r,volumeClose:d,fullscreenOn:p,fullscreenOff:s,loading:u},constructor:{validator:c,utils:{query:y,append:f,setStyle:g}}}=n;e=c({html:"",video:"",url:"",playDuration:5,totalDuration:10,muted:!1,i18n:{close:"关闭广告",countdown:"%s秒",detail:"查看详情",canBeClosed:"%s秒后可关闭广告"},...e},{html:"?string",video:"?string",url:"?string",playDuration:"number",totalDuration:"number",muted:"?boolean",i18n:{close:"string",countdown:"string",detail:"string",canBeClosed:"string"}});let m=null,v=null,x=null,h=null,b=null,w=null,D=0,j=null,A=!1,P=!1,$=!1;function k(e,n){return n.replace("%s",e)}function O(){A=!0,n.play(),e.video&&m.pause(),g(n.template.$ads,"display","none"),n.emit("artplayerPluginAds:skip",e)}function M(){A||(j=setTimeout(()=>{D+=1;let n=e.playDuration-D;n>=1?x.innerHTML=k(n,e.i18n.canBeClosed):(x.innerHTML=e.i18n.close,$||($=!0)),h.innerHTML=k(e.totalDuration-D,e.i18n.countdown),D>=e.totalDuration?O():M()},1e3))}function _(){A||clearTimeout(j)}function T(){P||(P=!0,function(){n.template.$ads=f(a,'<div class="artplayer-plugin-ads"></div>'),m=f(n.template.$ads,e.video?`<video class="artplayer-plugin-ads-video" src="${e.video}" loop playsInline></video>`:`<div class="artplayer-plugin-ads-html">${e.html}</div>`),w=f(n.template.$ads,'<div class="artplayer-plugin-ads-loading"></div>'),f(w,u),x=y(".artplayer-plugin-ads-close",v=f(n.template.$ads,`<div class="artplayer-plugin-ads-timer"><div class="artplayer-plugin-ads-close">${e.playDuration<=0?e.i18n.close:k(e.playDuration,e.i18n.canBeClosed)}</div><div class="artplayer-plugin-ads-countdown">${k(e.totalDuration,e.i18n.countdown)}</div></div>`)),h=y(".artplayer-plugin-ads-countdown",v),e.playDuration>=e.totalDuration&&g(x,"display","none"),n.proxy(x,"click",()=>{$&&O()});let l=y(".artplayer-plugin-ads-detail",b=f(n.template.$ads,`<div class="artplayer-plugin-ads-control"><div class="artplayer-plugin-ads-detail">${e.i18n.detail}</div><div class="artplayer-plugin-ads-muted"></div><div class="artplayer-plugin-ads-fullscreen"></div></div>`)),t=y(".artplayer-plugin-ads-muted",b),i=y(".artplayer-plugin-ads-fullscreen",b);if(e.url?n.proxy(l,"click",()=>{window.open(e.url),n.emit("artplayerPluginAds:click",e)}):g(l,"display","none"),e.video){let l=f(t,r),i=f(t,d);g(i,"display","none"),e.muted&&(m.muted=!0,g(l,"display","none"),g(i,"display","inline-flex")),n.proxy(t,"click",()=>{m.muted=!m.muted,m.muted?(g(l,"display","none"),g(i,"display","inline-flex")):(g(l,"display","inline-flex"),g(i,"display","none"))})}else g(t,"display","none");let o=f(i,p),c=f(i,s);g(c,"display","none"),n.proxy(i,"click",()=>{n.fullscreen=!n.fullscreen,n.fullscreen?(g(o,"display","inline-flex"),g(c,"display","none")):(g(o,"display","none"),g(c,"display","inline-flex"))}),n.proxy(m,"click",()=>{e.url&&window.open(e.url),n.emit("artplayerPluginAds:click",e)})}(),n.pause(),e.video?(n.proxy(m,"error",O),n.proxy(m,"loadedmetadata",()=>{M(),m.play(),g(v,"display","flex"),g(b,"display","flex"),g(w,"display","none")})):(M(),g(v,"display","flex"),g(b,"display","flex"),g(w,"display","none")),n.proxy(document,"visibilitychange",()=>{document.hidden?_():M()}))}return n.on("ready",()=>{n.once("play",T),n.once("video:playing",T)}),{name:"arLine truncated
|
||||
!function(e,n,l,t,i,a,r,o){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},p="function"==typeof d[t]&&d[t],s=p.i||{},u=p.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function y(n,l){if(!u[n]){if(!e[n]){if(i[n])return i[n];var a="function"==typeof d[t]&&d[t];if(!l&&a)return a(n,!0);if(p)return p(n,!0);if(c&&"string"==typeof n)return c(n);var r=Error("Cannot find module '"+n+"'");throw r.code="MODULE_NOT_FOUND",r}s.resolve=function(l){var t=e[n][1][l];return null!=t?t:l},s.cache={};var o=u[n]=new y.Module(n);e[n][0].call(o.exports,s,o,o.exports,d)}return u[n].exports;function s(e){var n=s.resolve(e);return!1===n?{}:y(n)}}y.isParcelRequire=!0,y.Module=function(e){this.id=e,this.bundle=y,this.require=c,this.exports={}},y.modules=e,y.cache=u,y.parent=p,y.distDir=void 0,y.publicUrl=void 0,y.devServer=void 0,y.i=s,y.register=function(n,l){e[n]=[function(e,n){n.exports=l},{}]},Object.defineProperty(y,"root",{get:function(){return d[t]}}),d[t]=y;for(var f=0;f<n.length;f++)y(n[f]);if(l){var g=y(l);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({"2Uydo":[function(e,n,l,t){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(l),i.export(l,"default",()=>o);var a=e("bundle-text:./style.less"),r=i.interopDefault(a);function o(e){return n=>{let{version:l,utils:{errorHandle:t}}=n.constructor,i=l.split(".").map(Number);t(i[0]+i[1]/100>=5,`Artplayer.js@${l} is not compatible the artplayerPluginAds@${o.version}. Please update it to version Artplayer.js@5.x.x`);let{template:{$player:a},icons:{volume:r,volumeClose:d,fullscreenOn:p,fullscreenOff:s,loading:u},constructor:{validator:c,utils:{query:y,append:f,setStyle:g}}}=n;e=c({html:"",video:"",url:"",playDuration:5,totalDuration:10,muted:!1,i18n:{close:"关闭广告",countdown:"%s秒",detail:"查看详情",canBeClosed:"%s秒后可关闭广告"},...e},{html:"?string",video:"?string",url:"?string",playDuration:"number",totalDuration:"number",muted:"?boolean",i18n:{close:"string",countdown:"string",detail:"string",canBeClosed:"string"}});let m=null,v=null,x=null,h=null,b=null,w=null,D=0,j=null,P=!1,$=!1,k=!1;function M(e,n){return n.replace("%s",e)}function O(){P=!0,n.play(),e.video&&m.pause(),g(n.template.$ads,"display","none"),n.emit("artplayerPluginAds:skip",e)}function A(){P||(j=setTimeout(()=>{D+=1;let n=e.playDuration-D;n>=1?x.innerHTML=M(n,e.i18n.canBeClosed):(x.innerHTML=e.i18n.close,k||(k=!0)),h.innerHTML=M(e.totalDuration-D,e.i18n.countdown),D>=e.totalDuration?O():A()},1e3))}function _(){P||clearTimeout(j)}function T(){$||($=!0,function(){n.template.$ads=f(a,'<div class="artplayer-plugin-ads"></div>'),m=f(n.template.$ads,e.video?`<video class="artplayer-plugin-ads-video" src="${e.video}" loop playsInline></video>`:`<div class="artplayer-plugin-ads-html">${e.html}</div>`),w=f(n.template.$ads,'<div class="artplayer-plugin-ads-loading"></div>'),f(w,u),x=y(".artplayer-plugin-ads-close",v=f(n.template.$ads,`<div class="artplayer-plugin-ads-timer"><div class="artplayer-plugin-ads-close">${e.playDuration<=0?e.i18n.close:M(e.playDuration,e.i18n.canBeClosed)}</div><div class="artplayer-plugin-ads-countdown">${M(e.totalDuration,e.i18n.countdown)}</div></div>`)),h=y(".artplayer-plugin-ads-countdown",v),e.playDuration>=e.totalDuration&&g(x,"display","none"),n.proxy(x,"click",()=>{k&&O()});let l=y(".artplayer-plugin-ads-detail",b=f(n.template.$ads,`<div class="artplayer-plugin-ads-control"><div class="artplayer-plugin-ads-detail">${e.i18n.detail}</div><div class="artplayer-plugin-ads-muted"></div><div class="artplayer-plugin-ads-fullscreen"></div></div>`)),t=y(".artplayer-plugin-ads-muted",b),i=y(".artplayer-plugin-ads-fullscreen",b);if(e.url?n.proxy(l,"click",()=>{window.open(e.url),n.emit("artplayerPluginAds:click",e)}):g(l,"display","none"),e.video){let l=f(t,r),i=f(t,d);g(i,"display","none"),e.muted&&(m.muted=!0,g(l,"display","none"),g(i,"display","inline-flex")),n.proxy(t,"click",()=>{m.muted=!m.muted,m.muted?(g(l,"display","none"),g(i,"display","inline-flex")):(g(l,"display","inline-flex"),g(i,"display","none"))})}else g(t,"display","none");let o=f(i,p),c=f(i,s);g(c,"display","none"),n.proxy(i,"click",()=>{n.fullscreen=!n.fullscreen,n.fullscreen?(g(o,"display","inline-flex"),g(c,"display","none")):(g(o,"display","none"),g(c,"display","inline-flex"))}),n.proxy(m,"click",()=>{e.url&&window.open(e.url),n.emit("artplayerPluginAds:click",e)})}(),n.pause(),e.video?(n.proxy(m,"error",O),n.proxy(m,"loadedmetadata",()=>{A(),m.play(),g(v,"display","flex"),g(b,"display","flex"),g(w,"display","none")})):(A(),g(v,"display","flex"),g(b,"display","flex"),g(w,"display","none")),n.proxy(document,"visibilitychange",()=>{document.hidden?_():A()}))}return n.on("ready",()=>{n.once("play",T),n.once("video:playing",T)}),{name:"arLine truncated
|
||||
//# sourceMappingURL=artplayer-plugin-ads.esm.js.map
|
||||
@@ -1 +1 @@
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCgBwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAhBxB,IAAA,EAAA,EAAA,4B,E,E,c,C,GAgBe,SAAS,EAAmB,CAAM,EAC7C,OAAO,AAAC,IAdR,GAAM,CACF,QAAA,CAAO,CACP,MAAO,CAAE,YAAA,CAAW,CAAE,CACzB,CAAG,AAYa,EAZT,WAAW,CACb,EAAM,EAAQ,KAAK,CAAC,KAAK,GAAG,CAAC,QAGnC,EACI,AAHU,CAAG,CAAC,EAAE,CACN,CAAG,CAAC,EAAE,CAAG,KAEF,EACjB,CAAC,aAAa,EAAE,EAAQ,0CAA0C,EAAE,EAAmB,OAAO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 truncated
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCgBwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAhBxB,IAAA,EAAA,EAAA,4B,E,E,c,C,GAgBe,SAAS,EAAmB,CAAM,EAC/C,OAAO,AAAC,IAdR,GAAM,CACJ,QAAA,CAAO,CACP,MAAO,CAAE,YAAA,CAAW,CAAE,CACvB,CAAG,AAYW,EAZP,WAAW,CACb,EAAM,EAAQ,KAAK,CAAC,KAAK,GAAG,CAAC,QAGnC,EACE,AAHY,CAAG,CAAC,EAAE,CACN,CAAG,CAAC,EAAE,CAAG,KAEJ,EACjB,CAAC,aAAa,EAAE,EAAQ,0CAA0C,EAAE,EAAmB,OAAO,CAAC,gDAAgD,CAAC,EAQhJ,GAAM,CACJ,SAAU,CAAE,QAAA,CAAO,CAAE,CACrB,MAAO,CAAE,OAAA,CAAM,CAAE,YAAA,CAAW,CAAE,aAAA,CAAY,CAAE,cAAA,CAAa,CAAE,QAAA,CAAO,CAAE,CACpE,YAAa,CACX,UAAA,CAAS,CACT,MAAO,CAAE,MAAA,CAAK,CAAE,OAAA,CAAM,CAAE,SAAA,CAAQ,CAAE,CACnC,CACF,CAAG,EAEJ,EAAS,EACP,CACE,KAAM,GACN,MAAO,GACP,IAAK,GACL,aAAc,EACd,cAAe,GACf,MAAO,CAAA,EACP,KAAM,CACJ,MAAO,OACP,UAAW,MACX,OAAQ,OACR,YAAa,WACf,EACA,GAAG,CAAM,AACX,EACA,CACE,KAAM,UACN,MAAO,UACP,IAAK,UACL,aAAc,SACd,cAAe,SACf,MAAO,WACP,KAAM,CACJ,MAAO,SACP,UAAW,SACX,OAAQ,SACR,YAAa,QACf,CACF,GAGF,IAAI,EAAO,KACP,EAAS,KACT,EAAS,KACT,EAAa,KACb,EAAW,KACX,EAAW,KAEX,EAAO,EACP,EAAQ,KACR,EAAQ,CAAA,EACR,EAAS,CAAA,EACT,EAAa,CAAA,EAEjB,SAAS,EAAQ,CAAG,CAAE,CAAG,EACvB,OAAO,EAAI,OAAO,CAAC,KAAM,EAC3B,CAEA,SAAS,IACP,EAAQ,CAAA,EACR,EAAI,IAAI,GACJ,EAAO,KAAK,EACd,EAAK,KAAK,GACZ,EAAS,EAAI,QAAQ,CAAC,IAAI,CAAE,UAAW,QACvC,EAAI,IAAI,CAAC,0BAA2B,EACtC,CAEA,SAAS,IACH,GAGJ,CAAA,EAAQ,WAAW,KACjB,GAAQ,EAER,IAAM,EAAe,EAAO,YAAY,CAAG,CACvC,CAAA,GAAgB,EAClB,EAAO,SAAS,CAAG,EAAQ,EAAc,EAAO,IAAI,CAAC,WAAW,GAGhE,EAAO,SAAS,CAAG,EAAO,IAAI,CAAC,KAAK,CAChC,AAAC,GACH,CAAA,EAAa,CAAA,CADf,GAKF,EAAW,SAAS,CAAG,EAAQ,EAAO,aAAa,CAAG,EAAM,EAAO,IAAI,CAAC,SAAS,EAE7E,GAAQ,EAAO,aAAa,CAC9B,IAGA,GAEJ,EAAG,IAAH,CACF,CAEA,SAAS,IACH,GAEJ,aAAa,EACf,CAqHA,SAAS,IACH,IAEJ,EAAS,CAAA,EAET,AAxHF,WACE,EAAI,QAAQ,CAAC,IAAI,CAAG,EAAO,EAAS,4CAEpC,EAAO,EACL,EAAI,QAAQ,CAAC,IAAI,CACjB,EAAO,KAAK,CACR,CAAC,+CAA+C,EAAE,EAAO,KAAK,CAAC,2BAA2B,CAAC,CAC3F,CAAC,uCAAuC,EAAE,EAAO,IAAI,CAAC,MAAM,CAAC,EAGnE,EAAW,EAAO,EAAI,QAAQ,CAAC,IAAI,CAAE,oDACrC,EAAO,EAAU,GAiBjB,EAAS,EAAM,8BAff,EAAS,EACP,EAAI,QAAQ,CAAC,IAAI,CACjB,CAAC;AACmD,4DAAA,EACtC,EAAO,YAAY,EAAI,EACnB,EAAO,IAAI,CAAC,KAAK,CACjB,EAAQ,EAAO,YAAY,CAAE,EAAO,IAAI,CAAC,WAAW,EACzD;AAC2C,gEAAA,EAAE,EAC5C,EAAO,aAAa,CACpB,EAAO,IAAI,CAAC,SAAS,EACrB;AACA,sBAAA,CAAC,GAIjB,EAAa,EAAM,kCAAmC,GAElD,EAAO,YAAY,EAAI,EAAO,aAAa,EAC7C,EAAS,EAAQ,UAAW,QAG9B,EAAI,KAAK,CAAC,EAAQ,QAAS,KACrB,GACF,GAEJ,GAWA,IAAM,EAAU,EAAM,+BATtB,EAAW,EACT,EAAI,QAAQ,CAAC,IAAI,CACjB,CAAC;AACoD,6DAAA,EAAE,EAAO,IAAI,CAAC,MAAM,CAAC;A;A;AAG5D,sBAAA,CAAC,GAIX,EAAS,EAAM,8BAA+B,GAC9C,EAAc,EAAM,mCAAoC,GAY9D,GAVI,EAAO,GAAG,CACZ,EAAI,KAAK,CAAC,EAAS,QAAS,KAC1B,OAAO,IAAI,CAAC,EAAO,GAAG,EACtB,EAAI,IAAI,CAAC,2BAA4B,EACvC,GAGA,EAAS,EAAS,UAAW,QAG3B,EAAO,KAAK,CAAE,CAChB,IAAM,EAAU,EAAO,EAAQ,GACzB,EAAe,EAAO,EAAQ,GACpC,EAAS,EAAc,UAAW,QAG9B,EAAO,KAAK,GACd,EAAK,KAAK,CAAG,CAAA,EACb,EAAS,EAAS,UAAW,QAC7B,EAAS,EAAc,UAAW,gBAGpC,EAAI,KAAK,CAAC,EAAQ,QAAS,KACzB,EAAK,KAAK,CAAG,CAAC,EAAK,KAAK,CACpB,EAAK,KAAK,EACZ,EAAS,EAAS,UAAW,QAC7B,EAAS,EAAc,UAAW,iBAGlC,EAAS,EAAS,UAAW,eAC7B,EAAS,EAAc,UAAW,QAEtC,EACF,MAEE,EAAS,EAAQ,UAAW,QAG9B,IAAM,EAAgB,EAAO,EAAa,GACpC,EAAiB,EAAO,EAAa,GAC3C,EAAS,EAAgB,UAAW,QAEpC,EAAI,KAAK,CAAC,EAAa,QAAS,KAC9B,EAAI,UAAU,CAAG,CAAC,EAAI,UAAU,CAC5B,EAAI,UAAU,EAChB,EAAS,EAAe,UAAW,eACnC,EAAS,EAAgB,UAAW,UAGpC,EAAS,EAAe,UAAW,QACnC,EAAS,EAAgB,UAAW,eAExC,GAEA,EAAI,KAAK,CAAC,EAAM,QAAS,KACnB,EAAO,GAAG,EACZ,OAAO,IAAI,CAAC,EAAO,GAAG,EACxB,EAAI,IAAI,CAAC,2BAA4B,EACvC,EACF,IAQE,EAAI,KAAK,GAEL,EAAO,KAAK,EACd,EAAI,KAAK,CAAC,EAAM,QAAS,GACzB,EAAI,KAAK,CAAC,EAAM,iBAAkB,KAChC,IACA,EAAK,IAAI,GACT,EAAS,EAAQ,UAAW,QAC5B,EAAS,EAAU,UAAW,QAC9B,EAAS,EAAU,UAAW,OAChC,KAGA,IACA,EAAS,EAAQ,UAAW,QAC5B,EAAS,EAAU,UAAW,QAC9B,EAAS,EAAU,UAAW,SAGhC,EAAI,KAAK,CAAC,SAAU,mBAAoB,KAClC,SAAS,MAAM,CACjB,IAGA,GAEJ,GACF,CAOA,OALA,EAAI,EAAE,CAAC,QAAS,KACd,EAAI,IAAI,CAAC,OAAQ,GACjB,EAAI,IAAI,CAAC,gBAAiB,EAC5B,GAEO,CACL,KAAM,qBACN,KAAA,EACA,MAAA,EACA,KAAA,CACF,CACF,CACF,CAEA,GAAI,AAAoB,aAApB,OAAO,UACL,CAAC,SAAS,cAAc,CAAC,wBAAyB,CACpD,IAAM,EAAS,SAAS,aAAa,CAAC,QACtC,CAAA,EAAO,EAAE,CAAG,uBACZ,EAAO,WAAW,CAAG,EAAA,OAAK,CAC1B,SAAS,IAAI,CAAC,WAAW,CAAC,EAC5B,CAGE,AAAkB,aAAlB,OAAO,QACT,CAAA,OAAO,kBAAkB,CAAG,CAD9B,C,E,C,2B,Q,iD,O,E,C,Q,C,S,C,C,C,C,C,C,C,ECvSA,EAAO,OAAO,CAAG,ypC,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,ECAjB,EAAQ,cAAc,CAAG,SAAU,CAAC,ELine truncated
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,n,l,t,i,a,r,o){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},p="function"==typeof d[t]&&d[t],s=p.i||{},u=p.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function y(n,l){if(!u[n]){if(!e[n]){if(i[n])return i[n];var a="function"==typeof d[t]&&d[t];if(!l&&a)return a(n,!0);if(p)return p(n,!0);if(c&&"string"==typeof n)return c(n);var r=Error("Cannot find module '"+n+"'");throw r.code="MODULE_NOT_FOUND",r}s.resolve=function(l){var t=e[n][1][l];return null!=t?t:l},s.cache={};var o=u[n]=new y.Module(n);e[n][0].call(o.exports,s,o,o.exports,d)}return u[n].exports;function s(e){var n=s.resolve(e);return!1===n?{}:y(n)}}y.isParcelRequire=!0,y.Module=function(e){this.id=e,this.bundle=y,this.require=c,this.exports={}},y.modules=e,y.cache=u,y.parent=p,y.distDir=void 0,y.publicUrl=void 0,y.devServer=void 0,y.i=s,y.register=function(n,l){e[n]=[function(e,n){n.exports=l},{}]},Object.defineProperty(y,"root",{get:function(){return d[t]}}),d[t]=y;for(var f=0;f<n.length;f++)y(n[f]);if(l){var g=y(l);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({jz4E5:[function(e,n,l,t){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(l),i.export(l,"default",()=>o);var a=e("bundle-text:./style.less"),r=i.interopDefault(a);function o(e){return n=>{let{version:l,utils:{errorHandle:t}}=n.constructor,i=l.split(".").map(Number);t(i[0]+i[1]/100>=5,`Artplayer.js@${l} is not compatible the artplayerPluginAds@${o.version}. Please update it to version Artplayer.js@5.x.x`);let{template:{$player:a},icons:{volume:r,volumeClose:d,fullscreenOn:p,fullscreenOff:s,loading:u},constructor:{validator:c,utils:{query:y,append:f,setStyle:g}}}=n;e=c({html:"",video:"",url:"",playDuration:5,totalDuration:10,muted:!1,i18n:{close:"关闭广告",countdown:"%s秒",detail:"查看详情",canBeClosed:"%s秒后可关闭广告"},...e},{html:"?string",video:"?string",url:"?string",playDuration:"number",totalDuration:"number",muted:"?boolean",i18n:{close:"string",countdown:"string",detail:"string",canBeClosed:"string"}});let m=null,v=null,x=null,h=null,b=null,w=null,j=0,D=null,P=!1,$=!1,k=!1;function O(e,n){return n.replace("%s",e)}function A(){P=!0,n.play(),e.video&&m.pause(),g(n.template.$ads,"display","none"),n.emit("artplayerPluginAds:skip",e)}function M(){P||(D=setTimeout(()=>{j+=1;let n=e.playDuration-j;n>=1?x.innerHTML=O(n,e.i18n.canBeClosed):(x.innerHTML=e.i18n.close,k||(k=!0)),h.innerHTML=O(e.totalDuration-j,e.i18n.countdown),j>=e.totalDuration?A():M()},1e3))}function E(){P||clearTimeout(D)}function T(){$||($=!0,function(){n.template.$ads=f(a,'<div class="artplayer-plugin-ads"></div>'),m=f(n.template.$ads,e.video?`<video class="artplayer-plugin-ads-video" src="${e.video}" loop playsInline></video>`:`<div class="artplayer-plugin-ads-html">${e.html}</div>`),w=f(n.template.$ads,'<div class="artplayer-plugin-ads-loading"></div>'),f(w,u),x=y(".artplayer-plugin-ads-close",v=f(n.template.$ads,`<div class="artplayer-plugin-ads-timer"><div class="artplayer-plugin-ads-close">${e.playDuration<=0?e.i18n.close:O(e.playDuration,e.i18n.canBeClosed)}</div><div class="artplayer-plugin-ads-countdown">${O(e.totalDuration,e.i18n.countdown)}</div></div>`)),h=y(".artplayer-plugin-ads-countdown",v),e.playDuration>=e.totalDuration&&g(x,"display","none"),n.proxy(x,"click",()=>{k&&A()});let l=y(".artplayer-plugin-ads-detail",b=f(n.template.$ads,`<div class="artplayer-plugin-ads-control"><div class="artplayer-plugin-ads-detail">${e.i18n.detail}</div><div class="artplayer-plugin-ads-muted"></div><div class="artplayer-plugin-ads-fullscreen"></div></div>`)),t=y(".artplayer-plugin-ads-muted",b),i=y(".artplayer-plugin-ads-fullscreen",b);if(e.url?n.proxy(l,"click",()=>{window.open(e.url),n.emit("artplayerPluginAds:click",e)}):g(l,"display","none"),e.video){let l=f(t,r),i=f(t,d);g(i,"display","none"),e.muted&&(m.muted=!0,g(l,"display","none"),g(i,"display","inline-flex")),n.proxy(t,"click",()=>{m.muted=!m.muted,m.muted?(g(l,"display","none"),g(i,"display","inline-flex")):(g(l,"display","inline-flex"),g(i,"display","none"))})}else g(t,"display","none");let o=f(i,p),c=f(i,s);g(c,"display","none"),n.proxy(i,"click",()=>{n.fullscreen=!n.fullscreen,n.fullscreen?(g(o,"display","inline-flex"),g(c,"display","none")):(g(o,"display","none"),g(c,"display","inline-flex"))}),n.proxy(m,"click",()=>{e.url&&window.open(e.url),n.emit("artplayerPluginAds:click",e)})}(),n.pause(),e.video?(n.proxy(m,"error",A),n.proxy(m,"loadedmetadata",()=>{M(),m.play(),g(v,"display","flex"),g(b,"display","flex"),g(w,"display","none")})):(M(),g(v,"display","flex"),g(b,"display","flex"),g(w,"display","none")),n.proxy(document,"visibilitychange",()=>{document.hidden?E():M()}))}return n.on("ready",()=>{n.once("play",T),n.once("video:playing",T)}),{name:"artpLine truncated
|
||||
!function(e,n,l,t,i,a,r,o){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},p="function"==typeof d[t]&&d[t],s=p.i||{},u=p.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function y(n,l){if(!u[n]){if(!e[n]){if(i[n])return i[n];var a="function"==typeof d[t]&&d[t];if(!l&&a)return a(n,!0);if(p)return p(n,!0);if(c&&"string"==typeof n)return c(n);var r=Error("Cannot find module '"+n+"'");throw r.code="MODULE_NOT_FOUND",r}s.resolve=function(l){var t=e[n][1][l];return null!=t?t:l},s.cache={};var o=u[n]=new y.Module(n);e[n][0].call(o.exports,s,o,o.exports,d)}return u[n].exports;function s(e){var n=s.resolve(e);return!1===n?{}:y(n)}}y.isParcelRequire=!0,y.Module=function(e){this.id=e,this.bundle=y,this.require=c,this.exports={}},y.modules=e,y.cache=u,y.parent=p,y.distDir=void 0,y.publicUrl=void 0,y.devServer=void 0,y.i=s,y.register=function(n,l){e[n]=[function(e,n){n.exports=l},{}]},Object.defineProperty(y,"root",{get:function(){return d[t]}}),d[t]=y;for(var f=0;f<n.length;f++)y(n[f]);if(l){var g=y(l);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({ezZng:[function(e,n,l,t){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(l),i.export(l,"default",()=>o);var a=e("bundle-text:./style.less"),r=i.interopDefault(a);function o(e){return n=>{let{version:l,utils:{errorHandle:t}}=n.constructor,i=l.split(".").map(Number);t(i[0]+i[1]/100>=5,`Artplayer.js@${l} is not compatible the artplayerPluginAds@${o.version}. Please update it to version Artplayer.js@5.x.x`);let{template:{$player:a},icons:{volume:r,volumeClose:d,fullscreenOn:p,fullscreenOff:s,loading:u},constructor:{validator:c,utils:{query:y,append:f,setStyle:g}}}=n;e=c({html:"",video:"",url:"",playDuration:5,totalDuration:10,muted:!1,i18n:{close:"关闭广告",countdown:"%s秒",detail:"查看详情",canBeClosed:"%s秒后可关闭广告"},...e},{html:"?string",video:"?string",url:"?string",playDuration:"number",totalDuration:"number",muted:"?boolean",i18n:{close:"string",countdown:"string",detail:"string",canBeClosed:"string"}});let m=null,v=null,x=null,h=null,b=null,w=null,D=0,j=null,k=!1,P=!1,$=!1;function O(e,n){return n.replace("%s",e)}function A(){k=!0,n.play(),e.video&&m.pause(),g(n.template.$ads,"display","none"),n.emit("artplayerPluginAds:skip",e)}function M(){k||(j=setTimeout(()=>{D+=1;let n=e.playDuration-D;n>=1?x.innerHTML=O(n,e.i18n.canBeClosed):(x.innerHTML=e.i18n.close,$||($=!0)),h.innerHTML=O(e.totalDuration-D,e.i18n.countdown),D>=e.totalDuration?A():M()},1e3))}function T(){k||clearTimeout(j)}function _(){P||(P=!0,function(){n.template.$ads=f(a,'<div class="artplayer-plugin-ads"></div>'),m=f(n.template.$ads,e.video?`<video class="artplayer-plugin-ads-video" src="${e.video}" loop playsInline></video>`:`<div class="artplayer-plugin-ads-html">${e.html}</div>`),w=f(n.template.$ads,'<div class="artplayer-plugin-ads-loading"></div>'),f(w,u),x=y(".artplayer-plugin-ads-close",v=f(n.template.$ads,`<div class="artplayer-plugin-ads-timer"><div class="artplayer-plugin-ads-close">${e.playDuration<=0?e.i18n.close:O(e.playDuration,e.i18n.canBeClosed)}</div><div class="artplayer-plugin-ads-countdown">${O(e.totalDuration,e.i18n.countdown)}</div></div>`)),h=y(".artplayer-plugin-ads-countdown",v),e.playDuration>=e.totalDuration&&g(x,"display","none"),n.proxy(x,"click",()=>{$&&A()});let l=y(".artplayer-plugin-ads-detail",b=f(n.template.$ads,`<div class="artplayer-plugin-ads-control"><div class="artplayer-plugin-ads-detail">${e.i18n.detail}</div><div class="artplayer-plugin-ads-muted"></div><div class="artplayer-plugin-ads-fullscreen"></div></div>`)),t=y(".artplayer-plugin-ads-muted",b),i=y(".artplayer-plugin-ads-fullscreen",b);if(e.url?n.proxy(l,"click",()=>{window.open(e.url),n.emit("artplayerPluginAds:click",e)}):g(l,"display","none"),e.video){let l=f(t,r),i=f(t,d);g(i,"display","none"),e.muted&&(m.muted=!0,g(l,"display","none"),g(i,"display","inline-flex")),n.proxy(t,"click",()=>{m.muted=!m.muted,m.muted?(g(l,"display","none"),g(i,"display","inline-flex")):(g(l,"display","inline-flex"),g(i,"display","none"))})}else g(t,"display","none");let o=f(i,p),c=f(i,s);g(c,"display","none"),n.proxy(i,"click",()=>{n.fullscreen=!n.fullscreen,n.fullscreen?(g(o,"display","inline-flex"),g(c,"display","none")):(g(o,"display","none"),g(c,"display","inline-flex"))}),n.proxy(m,"click",()=>{e.url&&window.open(e.url),n.emit("artplayerPluginAds:click",e)})}(),n.pause(),e.video?(n.proxy(m,"error",A),n.proxy(m,"loadedmetadata",()=>{M(),m.play(),g(v,"display","flex"),g(b,"display","flex"),g(w,"display","none")})):(M(),g(v,"display","flex"),g(b,"display","flex"),g(w,"display","none")),n.proxy(document,"visibilitychange",()=>{document.hidden?T():M()}))}return n.on("ready",()=>{n.once("play",_),n.once("video:playing",_)}),{name:"artpLine truncated
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,n,t,i,l,r,a,o){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof d[i]&&d[i],s=u.i||{},p=u.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(n,t){if(!p[n]){if(!e[n]){if(l[n])return l[n];var r="function"==typeof d[i]&&d[i];if(!t&&r)return r(n,!0);if(u)return u(n,!0);if(c&&"string"==typeof n)return c(n);var a=Error("Cannot find module '"+n+"'");throw a.code="MODULE_NOT_FOUND",a}s.resolve=function(t){var i=e[n][1][t];return null!=i?i:t},s.cache={};var o=p[n]=new f.Module(n);e[n][0].call(o.exports,s,o,o.exports,d)}return p[n].exports;function s(e){var n=s.resolve(e);return!1===n?{}:f(n)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=c,this.exports={}},f.modules=e,f.cache=p,f.parent=u,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=s,f.register=function(n,t){e[n]=[function(e,n){n.exports=t},{}]},Object.defineProperty(f,"root",{get:function(){return d[i]}}),d[i]=f;for(var y=0;y<n.length;y++)f(n[y]);if(t){var g=f(t);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({bzF6W:[function(e,n,t,i){var l=e("@parcel/transformer-js/src/esmodule-helpers.js");l.defineInteropFlag(t),l.export(t,"default",function(){return d});var r=e("@swc/helpers/cjs/_object_spread.cjs"),a=e("bundle-text:./style.less"),o=l.interopDefault(a);function d(e){return function(n){i=(t=n.constructor).version,(0,t.utils.errorHandle)((l=i.split(".").map(Number))[0]+l[1]/100>=5,"Artplayer.js@".concat(i," is not compatible the artplayerPluginAds@").concat(d.version,". Please update it to version Artplayer.js@5.x.x"));var t,i,l,a=n.template.$player,o=n.icons,u=o.volume,s=o.volumeClose,p=o.fullscreenOn,c=o.fullscreenOff,f=o.loading,y=n.constructor,g=y.validator,m=y.utils,v=m.query,b=m.append,h=m.setStyle;e=g((0,r._)({html:"",video:"",url:"",playDuration:5,totalDuration:10,muted:!1,i18n:{close:"关闭广告",countdown:"%s秒",detail:"查看详情",canBeClosed:"%s秒后可关闭广告"}},e),{html:"?string",video:"?string",url:"?string",playDuration:"number",totalDuration:"number",muted:"?boolean",i18n:{close:"string",countdown:"string",detail:"string",canBeClosed:"string"}});var x=null,w=null,j=null,O=null,D=null,P=null,_=0,k=null,A=!1,M=!1,q=!1;function C(e,n){return n.replace("%s",e)}function T(){A=!0,n.play(),e.video&&x.pause(),h(n.template.$ads,"display","none"),n.emit("artplayerPluginAds:skip",e)}function B(){A||(k=setTimeout(function(){_+=1;var n=e.playDuration-_;n>=1?j.innerHTML=C(n,e.i18n.canBeClosed):(j.innerHTML=e.i18n.close,q||(q=!0)),O.innerHTML=C(e.totalDuration-_,e.i18n.countdown),_>=e.totalDuration?T():B()},1e3))}function $(){A||clearTimeout(k)}function E(){M||(M=!0,function(){n.template.$ads=b(a,'<div class="artplayer-plugin-ads"></div>'),x=b(n.template.$ads,e.video?'<video class="artplayer-plugin-ads-video" src="'.concat(e.video,'" loop playsInline></video>'):'<div class="artplayer-plugin-ads-html">'.concat(e.html,"</div>")),P=b(n.template.$ads,'<div class="artplayer-plugin-ads-loading"></div>'),b(P,f),j=v(".artplayer-plugin-ads-close",w=b(n.template.$ads,'<div class="artplayer-plugin-ads-timer">\n<div class="artplayer-plugin-ads-close">'.concat(e.playDuration<=0?e.i18n.close:C(e.playDuration,e.i18n.canBeClosed),'</div>\n<div class="artplayer-plugin-ads-countdown">').concat(C(e.totalDuration,e.i18n.countdown),"</div>\n</div>"))),O=v(".artplayer-plugin-ads-countdown",w),e.playDuration>=e.totalDuration&&h(j,"display","none"),n.proxy(j,"click",function(){q&&T()});var t=v(".artplayer-plugin-ads-detail",D=b(n.template.$ads,'<div class="artplayer-plugin-ads-control">\n<div class="artplayer-plugin-ads-detail">'.concat(e.i18n.detail,'</div>\n<div class="artplayer-plugin-ads-muted"></div>\n<div class="artplayer-plugin-ads-fullscreen"></div>\n</div>'))),i=v(".artplayer-plugin-ads-muted",D),l=v(".artplayer-plugin-ads-fullscreen",D);if(e.url?n.proxy(t,"click",function(){window.open(e.url),n.emit("artplayerPluginAds:click",e)}):h(t,"display","none"),e.video){var r=b(i,u),o=b(i,s);h(o,"display","none"),e.muted&&(x.muted=!0,h(r,"display","none"),h(o,"display","inline-flex")),n.proxy(i,"click",function(){x.muted=!x.muted,x.muted?(h(r,"display","none"),h(o,"display","inline-flex")):(h(r,"display","inline-flex"),h(o,"display","none"))})}else h(i,"display","none");var d=b(l,p),y=b(l,c);h(y,"display","none"),n.proxy(l,"click",function(){n.fullscreen=!n.fullscreen,n.fullscreen?(h(d,"display","inline-flex"),h(y,"display","none")):(h(d,"display","none"),h(y,"display","inline-flex"))}),n.proxy(x,"click",function(){e.url&&window.open(e.url),n.emit("artplayerPluginAds:click",e)})}(),n.pause(),e.video?(n.proxy(x,"error",T),n.proxy(x,"loadedmetadata",function(){B(),x.play(),h(w,"display","flex"),h(D,"display","flex"),h(P,"display","none")})):(B()Line truncated
|
||||
!function(e,n,t,l,i,r,a,o){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof d[l]&&d[l],s=u.i||{},p=u.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(n,t){if(!p[n]){if(!e[n]){if(i[n])return i[n];var r="function"==typeof d[l]&&d[l];if(!t&&r)return r(n,!0);if(u)return u(n,!0);if(c&&"string"==typeof n)return c(n);var a=Error("Cannot find module '"+n+"'");throw a.code="MODULE_NOT_FOUND",a}s.resolve=function(t){var l=e[n][1][t];return null!=l?l:t},s.cache={};var o=p[n]=new f.Module(n);e[n][0].call(o.exports,s,o,o.exports,d)}return p[n].exports;function s(e){var n=s.resolve(e);return!1===n?{}:f(n)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=c,this.exports={}},f.modules=e,f.cache=p,f.parent=u,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=s,f.register=function(n,t){e[n]=[function(e,n){n.exports=t},{}]},Object.defineProperty(f,"root",{get:function(){return d[l]}}),d[l]=f;for(var y=0;y<n.length;y++)f(n[y]);if(t){var g=f(t);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({"1qHWP":[function(e,n,t,l){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(t),i.export(t,"default",function(){return d});var r=e("@swc/helpers/cjs/_object_spread.cjs"),a=e("bundle-text:./style.less"),o=i.interopDefault(a);function d(e){return function(n){l=(t=n.constructor).version,(0,t.utils.errorHandle)((i=l.split(".").map(Number))[0]+i[1]/100>=5,"Artplayer.js@".concat(l," is not compatible the artplayerPluginAds@").concat(d.version,". Please update it to version Artplayer.js@5.x.x"));var t,l,i,a=n.template.$player,o=n.icons,u=o.volume,s=o.volumeClose,p=o.fullscreenOn,c=o.fullscreenOff,f=o.loading,y=n.constructor,g=y.validator,m=y.utils,v=m.query,b=m.append,x=m.setStyle;e=g((0,r._)({html:"",video:"",url:"",playDuration:5,totalDuration:10,muted:!1,i18n:{close:"关闭广告",countdown:"%s秒",detail:"查看详情",canBeClosed:"%s秒后可关闭广告"}},e),{html:"?string",video:"?string",url:"?string",playDuration:"number",totalDuration:"number",muted:"?boolean",i18n:{close:"string",countdown:"string",detail:"string",canBeClosed:"string"}});var h=null,w=null,j=null,O=null,P=null,k=null,D=0,_=null,M=!1,q=!1,A=!1;function C(e,n){return n.replace("%s",e)}function E(){M=!0,n.play(),e.video&&h.pause(),x(n.template.$ads,"display","none"),n.emit("artplayerPluginAds:skip",e)}function T(){M||(_=setTimeout(function(){D+=1;var n=e.playDuration-D;n>=1?j.innerHTML=C(n,e.i18n.canBeClosed):(j.innerHTML=e.i18n.close,A||(A=!0)),O.innerHTML=C(e.totalDuration-D,e.i18n.countdown),D>=e.totalDuration?E():T()},1e3))}function H(){M||clearTimeout(_)}function $(){q||(q=!0,function(){n.template.$ads=b(a,'<div class="artplayer-plugin-ads"></div>'),h=b(n.template.$ads,e.video?'<video class="artplayer-plugin-ads-video" src="'.concat(e.video,'" loop playsInline></video>'):'<div class="artplayer-plugin-ads-html">'.concat(e.html,"</div>")),k=b(n.template.$ads,'<div class="artplayer-plugin-ads-loading"></div>'),b(k,f),j=v(".artplayer-plugin-ads-close",w=b(n.template.$ads,'<div class="artplayer-plugin-ads-timer">\n<div class="artplayer-plugin-ads-close">'.concat(e.playDuration<=0?e.i18n.close:C(e.playDuration,e.i18n.canBeClosed),'</div>\n<div class="artplayer-plugin-ads-countdown">').concat(C(e.totalDuration,e.i18n.countdown),"</div>\n</div>"))),O=v(".artplayer-plugin-ads-countdown",w),e.playDuration>=e.totalDuration&&x(j,"display","none"),n.proxy(j,"click",function(){A&&E()});var t=v(".artplayer-plugin-ads-detail",P=b(n.template.$ads,'<div class="artplayer-plugin-ads-control">\n<div class="artplayer-plugin-ads-detail">'.concat(e.i18n.detail,'</div>\n<div class="artplayer-plugin-ads-muted"></div>\n<div class="artplayer-plugin-ads-fullscreen"></div>\n</div>'))),l=v(".artplayer-plugin-ads-muted",P),i=v(".artplayer-plugin-ads-fullscreen",P);if(e.url?n.proxy(t,"click",function(){window.open(e.url),n.emit("artplayerPluginAds:click",e)}):x(t,"display","none"),e.video){var r=b(l,u),o=b(l,s);x(o,"display","none"),e.muted&&(h.muted=!0,x(r,"display","none"),x(o,"display","inline-flex")),n.proxy(l,"click",function(){h.muted=!h.muted,h.muted?(x(r,"display","none"),x(o,"display","inline-flex")):(x(r,"display","inline-flex"),x(o,"display","none"))})}else x(l,"display","none");var d=b(i,p),y=b(i,c);x(y,"display","none"),n.proxy(i,"click",function(){n.fullscreen=!n.fullscreen,n.fullscreen?(x(d,"display","inline-flex"),x(y,"display","none")):(x(d,"display","none"),x(y,"display","inline-flex"))}),n.proxy(h,"click",function(){e.url&&window.open(e.url),n.emit("artplayerPluginAds:click",e)})}(),n.pause(),e.video?(n.proxy(h,"error",E),n.proxy(h,"loadedmetadata",function(){T(),h.play(),x(w,"display","flex"),x(P,"display","flex"),x(k,"display","none")})):(TLine truncated
|
||||
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"license": "MIT",
|
||||
"version": "2.0.0",
|
||||
"name": "artplayer-plugin-ads",
|
||||
"description": "Ads plugin for ArtPlayer",
|
||||
"main": "dist/artplayer-plugin-ads.js",
|
||||
"legacy": "dist/artplayer-plugin-ads.legacy.js",
|
||||
"module": "dist/artplayer-plugin-ads.esm.js",
|
||||
"types": "types/artplayer-plugin-ads.d.ts",
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-ads.esm.js",
|
||||
"require": "./dist/artplayer-plugin-ads.js",
|
||||
"default": "./dist/artplayer-plugin-ads.js"
|
||||
},
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
]
|
||||
"name": "artplayer-plugin-ads",
|
||||
"version": "2.0.0",
|
||||
"description": "Ads plugin for ArtPlayer",
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"license": "MIT",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-ads.esm.js",
|
||||
"require": "./dist/artplayer-plugin-ads.js",
|
||||
"default": "./dist/artplayer-plugin-ads.js"
|
||||
},
|
||||
"main": "dist/artplayer-plugin-ads.js",
|
||||
"legacy": "dist/artplayer-plugin-ads.legacy.js",
|
||||
"module": "dist/artplayer-plugin-ads.esm.js",
|
||||
"types": "types/artplayer-plugin-ads.d.ts",
|
||||
"browserslist": "last 1 Chrome version"
|
||||
}
|
||||
@@ -1,285 +1,298 @@
|
||||
import style from 'bundle-text:./style.less';
|
||||
import style from 'bundle-text:./style.less'
|
||||
|
||||
function checkVersion(art) {
|
||||
const {
|
||||
version,
|
||||
utils: { errorHandle },
|
||||
} = art.constructor;
|
||||
const arr = version.split('.').map(Number);
|
||||
const major = arr[0];
|
||||
const minor = arr[1] / 100;
|
||||
errorHandle(
|
||||
major + minor >= 5,
|
||||
`Artplayer.js@${version} is not compatible the artplayerPluginAds@${artplayerPluginAds.version}. Please update it to version Artplayer.js@5.x.x`,
|
||||
);
|
||||
const {
|
||||
version,
|
||||
utils: { errorHandle },
|
||||
} = art.constructor
|
||||
const arr = version.split('.').map(Number)
|
||||
const major = arr[0]
|
||||
const minor = arr[1] / 100
|
||||
errorHandle(
|
||||
major + minor >= 5,
|
||||
`Artplayer.js@${version} is not compatible the artplayerPluginAds@${artplayerPluginAds.version}. Please update it to version Artplayer.js@5.x.x`,
|
||||
)
|
||||
}
|
||||
|
||||
export default function artplayerPluginAds(option) {
|
||||
return (art) => {
|
||||
checkVersion(art);
|
||||
return (art) => {
|
||||
checkVersion(art)
|
||||
|
||||
const {
|
||||
template: { $player },
|
||||
icons: { volume, volumeClose, fullscreenOn, fullscreenOff, loading },
|
||||
constructor: {
|
||||
validator,
|
||||
utils: { query, append, setStyle },
|
||||
},
|
||||
} = art;
|
||||
const {
|
||||
template: { $player },
|
||||
icons: { volume, volumeClose, fullscreenOn, fullscreenOff, loading },
|
||||
constructor: {
|
||||
validator,
|
||||
utils: { query, append, setStyle },
|
||||
},
|
||||
} = art
|
||||
|
||||
option = validator(
|
||||
{
|
||||
html: '',
|
||||
video: '',
|
||||
url: '',
|
||||
playDuration: 5,
|
||||
totalDuration: 10,
|
||||
muted: false,
|
||||
i18n: {
|
||||
close: '关闭广告',
|
||||
countdown: '%s秒',
|
||||
detail: '查看详情',
|
||||
canBeClosed: '%s秒后可关闭广告',
|
||||
},
|
||||
...option,
|
||||
},
|
||||
{
|
||||
html: '?string',
|
||||
video: '?string',
|
||||
url: '?string',
|
||||
playDuration: 'number',
|
||||
totalDuration: 'number',
|
||||
muted: '?boolean',
|
||||
i18n: {
|
||||
close: 'string',
|
||||
countdown: 'string',
|
||||
detail: 'string',
|
||||
canBeClosed: 'string',
|
||||
},
|
||||
},
|
||||
);
|
||||
option = validator(
|
||||
{
|
||||
html: '',
|
||||
video: '',
|
||||
url: '',
|
||||
playDuration: 5,
|
||||
totalDuration: 10,
|
||||
muted: false,
|
||||
i18n: {
|
||||
close: '关闭广告',
|
||||
countdown: '%s秒',
|
||||
detail: '查看详情',
|
||||
canBeClosed: '%s秒后可关闭广告',
|
||||
},
|
||||
...option,
|
||||
},
|
||||
{
|
||||
html: '?string',
|
||||
video: '?string',
|
||||
url: '?string',
|
||||
playDuration: 'number',
|
||||
totalDuration: 'number',
|
||||
muted: '?boolean',
|
||||
i18n: {
|
||||
close: 'string',
|
||||
countdown: 'string',
|
||||
detail: 'string',
|
||||
canBeClosed: 'string',
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
let $ads = null;
|
||||
let $timer = null;
|
||||
let $close = null;
|
||||
let $countdown = null;
|
||||
let $control = null;
|
||||
let $loading = null;
|
||||
let $ads = null
|
||||
let $timer = null
|
||||
let $close = null
|
||||
let $countdown = null
|
||||
let $control = null
|
||||
let $loading = null
|
||||
|
||||
let time = 0;
|
||||
let timer = null;
|
||||
let isEnd = false;
|
||||
let isInit = false;
|
||||
let isCanClose = false;
|
||||
let time = 0
|
||||
let timer = null
|
||||
let isEnd = false
|
||||
let isInit = false
|
||||
let isCanClose = false
|
||||
|
||||
function getI18n(val, str) {
|
||||
return str.replace('%s', val);
|
||||
function getI18n(val, str) {
|
||||
return str.replace('%s', val)
|
||||
}
|
||||
|
||||
function skip() {
|
||||
isEnd = true
|
||||
art.play()
|
||||
if (option.video)
|
||||
$ads.pause()
|
||||
setStyle(art.template.$ads, 'display', 'none')
|
||||
art.emit('artplayerPluginAds:skip', option)
|
||||
}
|
||||
|
||||
function play() {
|
||||
if (isEnd)
|
||||
return
|
||||
|
||||
timer = setTimeout(() => {
|
||||
time += 1
|
||||
|
||||
const playDuration = option.playDuration - time
|
||||
if (playDuration >= 1) {
|
||||
$close.innerHTML = getI18n(playDuration, option.i18n.canBeClosed)
|
||||
}
|
||||
else {
|
||||
$close.innerHTML = option.i18n.close
|
||||
if (!isCanClose) {
|
||||
isCanClose = true
|
||||
}
|
||||
}
|
||||
|
||||
function skip() {
|
||||
isEnd = true;
|
||||
art.play();
|
||||
if (option.video) $ads.pause();
|
||||
setStyle(art.template.$ads, 'display', 'none');
|
||||
art.emit('artplayerPluginAds:skip', option);
|
||||
$countdown.innerHTML = getI18n(option.totalDuration - time, option.i18n.countdown)
|
||||
|
||||
if (time >= option.totalDuration) {
|
||||
skip()
|
||||
}
|
||||
|
||||
function play() {
|
||||
if (isEnd) return;
|
||||
|
||||
timer = setTimeout(() => {
|
||||
time += 1;
|
||||
|
||||
const playDuration = option.playDuration - time;
|
||||
if (playDuration >= 1) {
|
||||
$close.innerHTML = getI18n(playDuration, option.i18n.canBeClosed);
|
||||
} else {
|
||||
$close.innerHTML = option.i18n.close;
|
||||
if (!isCanClose) {
|
||||
isCanClose = true;
|
||||
}
|
||||
}
|
||||
|
||||
$countdown.innerHTML = getI18n(option.totalDuration - time, option.i18n.countdown);
|
||||
|
||||
if (time >= option.totalDuration) {
|
||||
skip();
|
||||
} else {
|
||||
play();
|
||||
}
|
||||
}, 1000);
|
||||
else {
|
||||
play()
|
||||
}
|
||||
}, 1000)
|
||||
}
|
||||
|
||||
function pause() {
|
||||
if (isEnd) return;
|
||||
clearTimeout(timer);
|
||||
}
|
||||
function pause() {
|
||||
if (isEnd)
|
||||
return
|
||||
clearTimeout(timer)
|
||||
}
|
||||
|
||||
function show() {
|
||||
art.template.$ads = append($player, '<div class="artplayer-plugin-ads"></div>');
|
||||
function show() {
|
||||
art.template.$ads = append($player, '<div class="artplayer-plugin-ads"></div>')
|
||||
|
||||
$ads = append(
|
||||
art.template.$ads,
|
||||
option.video
|
||||
? `<video class="artplayer-plugin-ads-video" src="${option.video}" loop playsInline></video>`
|
||||
: `<div class="artplayer-plugin-ads-html">${option.html}</div>`,
|
||||
);
|
||||
$ads = append(
|
||||
art.template.$ads,
|
||||
option.video
|
||||
? `<video class="artplayer-plugin-ads-video" src="${option.video}" loop playsInline></video>`
|
||||
: `<div class="artplayer-plugin-ads-html">${option.html}</div>`,
|
||||
)
|
||||
|
||||
$loading = append(art.template.$ads, '<div class="artplayer-plugin-ads-loading"></div>');
|
||||
append($loading, loading);
|
||||
$loading = append(art.template.$ads, '<div class="artplayer-plugin-ads-loading"></div>')
|
||||
append($loading, loading)
|
||||
|
||||
$timer = append(
|
||||
art.template.$ads,
|
||||
`<div class="artplayer-plugin-ads-timer">
|
||||
$timer = append(
|
||||
art.template.$ads,
|
||||
`<div class="artplayer-plugin-ads-timer">
|
||||
<div class="artplayer-plugin-ads-close">${
|
||||
option.playDuration <= 0
|
||||
? option.i18n.close
|
||||
: getI18n(option.playDuration, option.i18n.canBeClosed)
|
||||
option.playDuration <= 0
|
||||
? option.i18n.close
|
||||
: getI18n(option.playDuration, option.i18n.canBeClosed)
|
||||
}</div>
|
||||
<div class="artplayer-plugin-ads-countdown">${getI18n(
|
||||
option.totalDuration,
|
||||
option.i18n.countdown,
|
||||
option.totalDuration,
|
||||
option.i18n.countdown,
|
||||
)}</div>
|
||||
</div>`,
|
||||
);
|
||||
)
|
||||
|
||||
$close = query('.artplayer-plugin-ads-close', $timer);
|
||||
$countdown = query('.artplayer-plugin-ads-countdown', $timer);
|
||||
$close = query('.artplayer-plugin-ads-close', $timer)
|
||||
$countdown = query('.artplayer-plugin-ads-countdown', $timer)
|
||||
|
||||
if (option.playDuration >= option.totalDuration) {
|
||||
setStyle($close, 'display', 'none');
|
||||
}
|
||||
if (option.playDuration >= option.totalDuration) {
|
||||
setStyle($close, 'display', 'none')
|
||||
}
|
||||
|
||||
art.proxy($close, 'click', () => {
|
||||
if (isCanClose) {
|
||||
skip();
|
||||
}
|
||||
});
|
||||
art.proxy($close, 'click', () => {
|
||||
if (isCanClose) {
|
||||
skip()
|
||||
}
|
||||
})
|
||||
|
||||
$control = append(
|
||||
art.template.$ads,
|
||||
`<div class="artplayer-plugin-ads-control">
|
||||
$control = append(
|
||||
art.template.$ads,
|
||||
`<div class="artplayer-plugin-ads-control">
|
||||
<div class="artplayer-plugin-ads-detail">${option.i18n.detail}</div>
|
||||
<div class="artplayer-plugin-ads-muted"></div>
|
||||
<div class="artplayer-plugin-ads-fullscreen"></div>
|
||||
</div>`,
|
||||
);
|
||||
)
|
||||
|
||||
const $detail = query('.artplayer-plugin-ads-detail', $control);
|
||||
const $muted = query('.artplayer-plugin-ads-muted', $control);
|
||||
const $fullscreen = query('.artplayer-plugin-ads-fullscreen', $control);
|
||||
const $detail = query('.artplayer-plugin-ads-detail', $control)
|
||||
const $muted = query('.artplayer-plugin-ads-muted', $control)
|
||||
const $fullscreen = query('.artplayer-plugin-ads-fullscreen', $control)
|
||||
|
||||
if (option.url) {
|
||||
art.proxy($detail, 'click', () => {
|
||||
window.open(option.url);
|
||||
art.emit('artplayerPluginAds:click', option);
|
||||
});
|
||||
} else {
|
||||
setStyle($detail, 'display', 'none');
|
||||
}
|
||||
if (option.url) {
|
||||
art.proxy($detail, 'click', () => {
|
||||
window.open(option.url)
|
||||
art.emit('artplayerPluginAds:click', option)
|
||||
})
|
||||
}
|
||||
else {
|
||||
setStyle($detail, 'display', 'none')
|
||||
}
|
||||
|
||||
if (option.video) {
|
||||
const $volume = append($muted, volume);
|
||||
const $volumeClose = append($muted, volumeClose);
|
||||
setStyle($volumeClose, 'display', 'none');
|
||||
if (option.video) {
|
||||
const $volume = append($muted, volume)
|
||||
const $volumeClose = append($muted, volumeClose)
|
||||
setStyle($volumeClose, 'display', 'none')
|
||||
|
||||
// If the ad was set to muted initially, match the icon
|
||||
if (option.muted) {
|
||||
$ads.muted = true;
|
||||
setStyle($volume, 'display', 'none');
|
||||
setStyle($volumeClose, 'display', 'inline-flex');
|
||||
}
|
||||
|
||||
art.proxy($muted, 'click', () => {
|
||||
$ads.muted = !$ads.muted;
|
||||
if ($ads.muted) {
|
||||
setStyle($volume, 'display', 'none');
|
||||
setStyle($volumeClose, 'display', 'inline-flex');
|
||||
} else {
|
||||
setStyle($volume, 'display', 'inline-flex');
|
||||
setStyle($volumeClose, 'display', 'none');
|
||||
}
|
||||
});
|
||||
} else {
|
||||
setStyle($muted, 'display', 'none');
|
||||
}
|
||||
|
||||
const $fullscreenOn = append($fullscreen, fullscreenOn);
|
||||
const $fullscreenOff = append($fullscreen, fullscreenOff);
|
||||
setStyle($fullscreenOff, 'display', 'none');
|
||||
|
||||
art.proxy($fullscreen, 'click', () => {
|
||||
art.fullscreen = !art.fullscreen;
|
||||
if (art.fullscreen) {
|
||||
setStyle($fullscreenOn, 'display', 'inline-flex');
|
||||
setStyle($fullscreenOff, 'display', 'none');
|
||||
} else {
|
||||
setStyle($fullscreenOn, 'display', 'none');
|
||||
setStyle($fullscreenOff, 'display', 'inline-flex');
|
||||
}
|
||||
});
|
||||
|
||||
art.proxy($ads, 'click', () => {
|
||||
if (option.url) window.open(option.url);
|
||||
art.emit('artplayerPluginAds:click', option);
|
||||
});
|
||||
// If the ad was set to muted initially, match the icon
|
||||
if (option.muted) {
|
||||
$ads.muted = true
|
||||
setStyle($volume, 'display', 'none')
|
||||
setStyle($volumeClose, 'display', 'inline-flex')
|
||||
}
|
||||
|
||||
function init() {
|
||||
if (isInit) return;
|
||||
isInit = true;
|
||||
art.proxy($muted, 'click', () => {
|
||||
$ads.muted = !$ads.muted
|
||||
if ($ads.muted) {
|
||||
setStyle($volume, 'display', 'none')
|
||||
setStyle($volumeClose, 'display', 'inline-flex')
|
||||
}
|
||||
else {
|
||||
setStyle($volume, 'display', 'inline-flex')
|
||||
setStyle($volumeClose, 'display', 'none')
|
||||
}
|
||||
})
|
||||
}
|
||||
else {
|
||||
setStyle($muted, 'display', 'none')
|
||||
}
|
||||
|
||||
show();
|
||||
art.pause();
|
||||
const $fullscreenOn = append($fullscreen, fullscreenOn)
|
||||
const $fullscreenOff = append($fullscreen, fullscreenOff)
|
||||
setStyle($fullscreenOff, 'display', 'none')
|
||||
|
||||
if (option.video) {
|
||||
art.proxy($ads, 'error', skip);
|
||||
art.proxy($ads, 'loadedmetadata', () => {
|
||||
play();
|
||||
$ads.play();
|
||||
setStyle($timer, 'display', 'flex');
|
||||
setStyle($control, 'display', 'flex');
|
||||
setStyle($loading, 'display', 'none');
|
||||
});
|
||||
} else {
|
||||
play();
|
||||
setStyle($timer, 'display', 'flex');
|
||||
setStyle($control, 'display', 'flex');
|
||||
setStyle($loading, 'display', 'none');
|
||||
}
|
||||
|
||||
art.proxy(document, 'visibilitychange', () => {
|
||||
if (document.hidden) {
|
||||
pause();
|
||||
} else {
|
||||
play();
|
||||
}
|
||||
});
|
||||
art.proxy($fullscreen, 'click', () => {
|
||||
art.fullscreen = !art.fullscreen
|
||||
if (art.fullscreen) {
|
||||
setStyle($fullscreenOn, 'display', 'inline-flex')
|
||||
setStyle($fullscreenOff, 'display', 'none')
|
||||
}
|
||||
else {
|
||||
setStyle($fullscreenOn, 'display', 'none')
|
||||
setStyle($fullscreenOff, 'display', 'inline-flex')
|
||||
}
|
||||
})
|
||||
|
||||
art.on('ready', () => {
|
||||
art.once('play', init);
|
||||
art.once('video:playing', init);
|
||||
});
|
||||
art.proxy($ads, 'click', () => {
|
||||
if (option.url)
|
||||
window.open(option.url)
|
||||
art.emit('artplayerPluginAds:click', option)
|
||||
})
|
||||
}
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginAds',
|
||||
skip,
|
||||
pause,
|
||||
play,
|
||||
};
|
||||
};
|
||||
function init() {
|
||||
if (isInit)
|
||||
return
|
||||
isInit = true
|
||||
|
||||
show()
|
||||
art.pause()
|
||||
|
||||
if (option.video) {
|
||||
art.proxy($ads, 'error', skip)
|
||||
art.proxy($ads, 'loadedmetadata', () => {
|
||||
play()
|
||||
$ads.play()
|
||||
setStyle($timer, 'display', 'flex')
|
||||
setStyle($control, 'display', 'flex')
|
||||
setStyle($loading, 'display', 'none')
|
||||
})
|
||||
}
|
||||
else {
|
||||
play()
|
||||
setStyle($timer, 'display', 'flex')
|
||||
setStyle($control, 'display', 'flex')
|
||||
setStyle($loading, 'display', 'none')
|
||||
}
|
||||
|
||||
art.proxy(document, 'visibilitychange', () => {
|
||||
if (document.hidden) {
|
||||
pause()
|
||||
}
|
||||
else {
|
||||
play()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
art.on('ready', () => {
|
||||
art.once('play', init)
|
||||
art.once('video:playing', init)
|
||||
})
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginAds',
|
||||
skip,
|
||||
pause,
|
||||
play,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof document !== 'undefined') {
|
||||
if (!document.getElementById('artplayer-plugin-ads')) {
|
||||
const $style = document.createElement('style');
|
||||
$style.id = 'artplayer-plugin-ads';
|
||||
$style.textContent = style;
|
||||
document.head.appendChild($style);
|
||||
}
|
||||
if (!document.getElementById('artplayer-plugin-ads')) {
|
||||
const $style = document.createElement('style')
|
||||
$style.id = 'artplayer-plugin-ads'
|
||||
$style.textContent = style
|
||||
document.head.appendChild($style)
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window['artplayerPluginAds'] = artplayerPluginAds;
|
||||
window.artplayerPluginAds = artplayerPluginAds
|
||||
}
|
||||
+40
-40
@@ -1,52 +1,52 @@
|
||||
import type Artplayer from 'artplayer';
|
||||
import type Artplayer from 'artplayer'
|
||||
|
||||
export = artplayerPluginAds;
|
||||
export = artplayerPluginAds
|
||||
export as namespace artplayerPluginAds;
|
||||
|
||||
type Option = {
|
||||
/**
|
||||
* 广告源文本,支持视频链接、图片链接、HTML文本
|
||||
*/
|
||||
source: string;
|
||||
interface Option {
|
||||
/**
|
||||
* 广告源文本,支持视频链接、图片链接、HTML文本
|
||||
*/
|
||||
source: string
|
||||
|
||||
/**
|
||||
* 知名广告的类型:'video' | 'image' | 'html'
|
||||
*/
|
||||
type: 'video' | 'image' | 'html';
|
||||
/**
|
||||
* 知名广告的类型:'video' | 'image' | 'html'
|
||||
*/
|
||||
type: 'video' | 'image' | 'html'
|
||||
|
||||
/**
|
||||
* 广告必看的时长,单位为秒
|
||||
*/
|
||||
playDuration?: number;
|
||||
/**
|
||||
* 广告必看的时长,单位为秒
|
||||
*/
|
||||
playDuration?: number
|
||||
|
||||
/**
|
||||
* 广告总的时长,单位为秒
|
||||
*/
|
||||
totalDuration?: number;
|
||||
/**
|
||||
* 广告总的时长,单位为秒
|
||||
*/
|
||||
totalDuration?: number
|
||||
|
||||
/**
|
||||
* 视频广告是否默认静音
|
||||
*/
|
||||
muted?: boolean;
|
||||
};
|
||||
/**
|
||||
* 视频广告是否默认静音
|
||||
*/
|
||||
muted?: boolean
|
||||
}
|
||||
|
||||
type Ads = {
|
||||
name: 'artplayerPluginAds';
|
||||
interface Ads {
|
||||
name: 'artplayerPluginAds'
|
||||
|
||||
/**
|
||||
* 跳过广告
|
||||
*/
|
||||
skip: () => void;
|
||||
/**
|
||||
* 跳过广告
|
||||
*/
|
||||
skip: () => void
|
||||
|
||||
/**
|
||||
* 暂停广告
|
||||
*/
|
||||
pause: () => void;
|
||||
/**
|
||||
* 暂停广告
|
||||
*/
|
||||
pause: () => void
|
||||
|
||||
/**
|
||||
* 播放广告
|
||||
*/
|
||||
play: () => void;
|
||||
};
|
||||
/**
|
||||
* 播放广告
|
||||
*/
|
||||
play: () => void
|
||||
}
|
||||
|
||||
declare const artplayerPluginAds: (option: Option) => (art: Artplayer) => Ads;
|
||||
declare const artplayerPluginAds: (option: Option) => (art: Artplayer) => Ads
|
||||
@@ -5,5 +5,5 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,r,t,n,o,i,u,l){var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof f[n]&&f[n],d=a.i||{},c=a.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function s(r,t){if(!c[r]){if(!e[r]){if(o[r])return o[r];var i="function"==typeof f[n]&&f[n];if(!t&&i)return i(r,!0);if(a)return a(r,!0);if(p&&"string"==typeof r)return p(r);var u=Error("Cannot find module '"+r+"'");throw u.code="MODULE_NOT_FOUND",u}d.resolve=function(t){var n=e[r][1][t];return null!=n?n:t},d.cache={};var l=c[r]=new s.Module(r);e[r][0].call(l.exports,d,l,l.exports,f)}return c[r].exports;function d(e){var r=d.resolve(e);return!1===r?{}:s(r)}}s.isParcelRequire=!0,s.Module=function(e){this.id=e,this.bundle=s,this.require=p,this.exports={}},s.modules=e,s.cache=c,s.parent=a,s.distDir=void 0,s.publicUrl=void 0,s.devServer=void 0,s.i=d,s.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]},Object.defineProperty(s,"root",{get:function(){return f[n]}}),f[n]=s;for(var m=0;m<r.length;m++)s(r[m]);if(t){var y=s(t);"object"==typeof exports&&"undefined"!=typeof module?module.exports=y:"function"==typeof define&&define.amd&&define(function(){return y})}}({"4omrA":[function(e,r,t,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e={}){return r=>{var t,n,o,i,u,l,f;let{$video:a}=r.template,{createElement:d,addClass:c,setStyles:p}=r.constructor.utils,{blur:s="50px",opacity:m=.5,frequency:y=10,duration:g=.3}=e,b=d("div"),h=((t=b).innerHTML=Array(9).fill("<div></div>").join(""),Array.from(t.children));n=b,o=a,c(n,"artplayer-plugin-ambilight"),o.parentNode.insertBefore(n,o),p(n,{position:"absolute",top:0,left:0,zIndex:9,inset:0,display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gridTemplateRows:"1fr 1fr 1fr"}),i=h,u=s,l=m,f=g,i.forEach(e=>{p(e,{opacity:l,filter:`blur(${u})`,transition:`background-color ${f}s ease`})});let v=function(e,t,n){let o=d("canvas"),i=o.getContext("2d");o.width=3,o.height=3;let u=0;return function o(){let l=performance.now();if(l-u<1e3/n||!r.playing){w=requestAnimationFrame(o);return}u=l;let f=e.videoWidth/3,a=e.videoHeight/3,d=[[0,0],[f,0],[2*f,0],[0,a],[f,a],[2*f,a],[0,2*a],[f,2*a],[2*f,2*a]].map(([r,t])=>(function(r,t,n,o){i.drawImage(e,r,t,n,o,0,0,1,1);let[u,l,f]=i.getImageData(0,0,1,1).data;return`rgb(${u}, ${l}, ${f})`})(r,t,f,a));t.forEach((e,r)=>{e.style.backgroundColor=d[r]}),w=requestAnimationFrame(o)}}(a,h,y),w=null;function x(){w||v()}function j(){w&&(cancelAnimationFrame(w),w=null)}return r.on("ready",x),r.on("destroy",j),{name:"artplayerPluginAmbilight",start:x,stop:j}}}o.defineInteropFlag(t),o.export(t,"default",()=>i),"undefined"!=typeof window&&(window.artplayerPluginAmbilight=i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"w4pLy"}],w4pLy:[function(e,r,t,n){t.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},t.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},t.exportAll=function(e,r){return Object.keys(e).forEach(function(t){"default"===t||"__esModule"===t||Object.prototype.hasOwnProperty.call(r,t)||Object.defineProperty(r,t,{enumerable:!0,get:function(){return e[t]}})}),r},t.export=function(e,r,t){Object.defineProperty(e,r,{enumerable:!0,get:t})}},{}]},["4omrA"],"4omrA","parcelRequireb9c8",{});let{default:e}=parcelRequireb9c8("4omrA");export{e as default};
|
||||
!function(e,r,t,n,o,i,l,u){var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof f[n]&&f[n],d=a.i||{},c=a.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(r,t){if(!c[r]){if(!e[r]){if(o[r])return o[r];var i="function"==typeof f[n]&&f[n];if(!t&&i)return i(r,!0);if(a)return a(r,!0);if(s&&"string"==typeof r)return s(r);var l=Error("Cannot find module '"+r+"'");throw l.code="MODULE_NOT_FOUND",l}d.resolve=function(t){var n=e[r][1][t];return null!=n?n:t},d.cache={};var u=c[r]=new p.Module(r);e[r][0].call(u.exports,d,u,u.exports,f)}return c[r].exports;function d(e){var r=d.resolve(e);return!1===r?{}:p(r)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=s,this.exports={}},p.modules=e,p.cache=c,p.parent=a,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=d,p.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]},Object.defineProperty(p,"root",{get:function(){return f[n]}}),f[n]=p;for(var m=0;m<r.length;m++)p(r[m]);if(t){var g=p(t);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({"9P7rs":[function(e,r,t,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e={}){return r=>{var t,n,o,i,l,u,f;let{$video:a}=r.template,{createElement:d,addClass:c,setStyles:s}=r.constructor.utils,{blur:p="50px",opacity:m=.5,frequency:g=10,duration:y=.3}=e,h=d("div"),b=((t=h).innerHTML=Array.from({length:9}).fill("<div></div>").join(""),Array.from(t.children));n=h,o=a,c(n,"artplayer-plugin-ambilight"),o.parentNode.insertBefore(n,o),s(n,{position:"absolute",top:0,left:0,zIndex:9,inset:0,display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gridTemplateRows:"1fr 1fr 1fr"}),i=b,l=p,u=m,f=y,i.forEach(e=>{s(e,{opacity:u,filter:`blur(${l})`,transition:`background-color ${f}s ease`})});let v=function(e,t,n){let o=d("canvas"),i=o.getContext("2d");o.width=3,o.height=3;let l=0;return function o(){let u=performance.now();if(u-l<1e3/n||!r.playing){w=requestAnimationFrame(o);return}l=u;let f=e.videoWidth/3,a=e.videoHeight/3,d=[[0,0],[f,0],[2*f,0],[0,a],[f,a],[2*f,a],[0,2*a],[f,2*a],[2*f,2*a]].map(([r,t])=>(function(r,t,n,o){i.drawImage(e,r,t,n,o,0,0,1,1);let[l,u,f]=i.getImageData(0,0,1,1).data;return`rgb(${l}, ${u}, ${f})`})(r,t,f,a));t.forEach((e,r)=>{e.style.backgroundColor=d[r]}),w=requestAnimationFrame(o)}}(a,b,g),w=null;function x(){w||v()}function j(){w&&(cancelAnimationFrame(w),w=null)}return r.on("ready",x),r.on("destroy",j),{name:"artplayerPluginAmbilight",start:x,stop:j}}}o.defineInteropFlag(t),o.export(t,"default",()=>i),"undefined"!=typeof window&&(window.artplayerPluginAmbilight=i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"5lQoW"}],"5lQoW":[function(e,r,t,n){t.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},t.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},t.exportAll=function(e,r){return Object.keys(e).forEach(function(t){"default"===t||"__esModule"===t||Object.prototype.hasOwnProperty.call(r,t)||Object.defineProperty(r,t,{enumerable:!0,get:function(){return e[t]}})}),r},t.export=function(e,r,t){Object.defineProperty(e,r,{enumerable:!0,get:t})}},{}]},["9P7rs"],"9P7rs","parcelRequire4dc0",{});let{default:e}=parcelRequire4dc0("9P7rs");export{e as default};
|
||||
//# sourceMappingURL=artplayer-plugin-ambilight.esm.js.map
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kDCAe,SAAS,EAAyB,EAAS,CAAC,CAAC,EACxD,OAAO,AAAC,QAqCqB,EAKD,EAAY,EAeZ,EAAW,EAAM,EAAS,EAxDlD,GAAM,CAAE,OAAA,CAAM,CAAE,CAAG,EAAI,QAAQ,CACzB,CAAE,cAAA,CAAa,CAAE,SAAA,CAAQ,CAAE,UAAA,CAAS,CAAE,CAAG,EAAI,WAAW,CAAC,KAAK,CAC9D,CAAE,KAAA,EAAO,MAAM,CAAE,QAAA,EAAU,EAAG,CAAE,UAAA,EAAY,EAAE,CAAE,SAAA,EAAW,EAAG,CAAE,CAAG,EAEnE,EAAa,EAAc,OAC3B,GAgCF,CADqB,EA/BS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","sources":["<anon>","src/index.js","../../node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["// modules are defined as an array\n// [ module function, map of requires ]\n//\n// map of requires is short require name -> numeric require\n//\n// anything defined in a previous bundle is accessed via the\n// orig method which is the require for previous bundles\n\n(function (\n modules,\n entry,\n mainEntry,\n parcelRequireName,\n externals,\n distDir,\n publicUrl,\n devServer\n) {\n /* eslint-disable no-undef */\n var globalObject =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n /* eslint-enable no-undef */\n\n // Save the require from previous bundle to this closure if any\n var previousRequire =\n typeof globalObject[parcelRequireName] === 'function' &&\n globalObject[parcelRequireName];\n\n var importMap = previousRequire.i || {};\n var cache = previousRequire.cache || {};\n // Do not use `require` to prevent Webpack from trying to bundle this call\n var nodeRequire =\n typeof module !== 'undefined' &&\n typeof module.require === 'function' &&\n module.require.bLine truncated
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kDCAe,SAAS,EAAyB,EAAS,CAAC,CAAC,EAC1D,OAAO,AAAC,QAqCmB,EAKD,EAAY,EAeZ,EAAW,EAAM,EAAS,EAxDlD,GAAM,CAAE,OAAA,CAAM,CAAE,CAAG,EAAI,QAAQ,CACzB,CAAE,cAAA,CAAa,CAAE,SAAA,CAAQ,CAAE,UAAA,CAAS,CAAE,CAAG,EAAI,WAAW,CAAC,KAAK,CAC9D,CAAE,KAAA,EAAO,MAAM,CAAE,QAAA,EAAU,EAAG,CAAE,UAAA,EAAY,EAAE,CAAE,SAAA,EAAW,EAAG,CAAE,CAAG,EAEnE,EAAa,EAAc,OAC3B,GAgCJ,CADuB,EA/BS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","sources":["<anon>","packages/artplayer-plugin-ambilight/src/index.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["// modules are defined as an array\n// [ module function, map of requires ]\n//\n// map of requires is short require name -> numeric require\n//\n// anything defined in a previous bundle is accessed via the\n// orig method which is the require for previous bundles\n\n(function (\n modules,\n entry,\n mainEntry,\n parcelRequireName,\n externals,\n distDir,\n publicUrl,\n devServer\n) {\n /* eslint-disable no-undef */\n var globalObject =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n /* eslint-enable no-undef */\n\n // Save the require from previous bundle to this closure if any\n var previousRequire =\n typeof globalObject[parcelRequireName] === 'function' &&\n globalObject[parcelRequireName];\n\n var importMap = previousRequire.i || {};\n var cache = previousRequire.cache || {};\n // Do not use `require` to prevent Webpack from trying to bundle this call\n var nodeRequire =\n typeof module !== 'undefined' &&\n typeof Line truncated
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,r,t,n,o,i,u,l){var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof f[n]&&f[n],d=a.i||{},c=a.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(r,t){if(!c[r]){if(!e[r]){if(o[r])return o[r];var i="function"==typeof f[n]&&f[n];if(!t&&i)return i(r,!0);if(a)return a(r,!0);if(s&&"string"==typeof r)return s(r);var u=Error("Cannot find module '"+r+"'");throw u.code="MODULE_NOT_FOUND",u}d.resolve=function(t){var n=e[r][1][t];return null!=n?n:t},d.cache={};var l=c[r]=new p.Module(r);e[r][0].call(l.exports,d,l,l.exports,f)}return c[r].exports;function d(e){var r=d.resolve(e);return!1===r?{}:p(r)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=s,this.exports={}},p.modules=e,p.cache=c,p.parent=a,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=d,p.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]},Object.defineProperty(p,"root",{get:function(){return f[n]}}),f[n]=p;for(var m=0;m<r.length;m++)p(r[m]);if(t){var g=p(t);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({jz4E5:[function(e,r,t,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e={}){return r=>{var t,n,o,i,u,l,f;let{$video:a}=r.template,{createElement:d,addClass:c,setStyles:s}=r.constructor.utils,{blur:p="50px",opacity:m=.5,frequency:g=10,duration:y=.3}=e,h=d("div"),b=((t=h).innerHTML=Array(9).fill("<div></div>").join(""),Array.from(t.children));n=h,o=a,c(n,"artplayer-plugin-ambilight"),o.parentNode.insertBefore(n,o),s(n,{position:"absolute",top:0,left:0,zIndex:9,inset:0,display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gridTemplateRows:"1fr 1fr 1fr"}),i=b,u=p,l=m,f=y,i.forEach(e=>{s(e,{opacity:l,filter:`blur(${u})`,transition:`background-color ${f}s ease`})});let v=function(e,t,n){let o=d("canvas"),i=o.getContext("2d");o.width=3,o.height=3;let u=0;return function o(){let l=performance.now();if(l-u<1e3/n||!r.playing){j=requestAnimationFrame(o);return}u=l;let f=e.videoWidth/3,a=e.videoHeight/3,d=[[0,0],[f,0],[2*f,0],[0,a],[f,a],[2*f,a],[0,2*a],[f,2*a],[2*f,2*a]].map(([r,t])=>(function(r,t,n,o){i.drawImage(e,r,t,n,o,0,0,1,1);let[u,l,f]=i.getImageData(0,0,1,1).data;return`rgb(${u}, ${l}, ${f})`})(r,t,f,a));t.forEach((e,r)=>{e.style.backgroundColor=d[r]}),j=requestAnimationFrame(o)}}(a,b,g),j=null;function w(){j||v()}function x(){j&&(cancelAnimationFrame(j),j=null)}return r.on("ready",w),r.on("destroy",x),{name:"artplayerPluginAmbilight",start:w,stop:x}}}o.defineInteropFlag(t),o.export(t,"default",()=>i),"undefined"!=typeof window&&(window.artplayerPluginAmbilight=i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"7o2zS"}],"7o2zS":[function(e,r,t,n){t.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},t.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},t.exportAll=function(e,r){return Object.keys(e).forEach(function(t){"default"===t||"__esModule"===t||Object.prototype.hasOwnProperty.call(r,t)||Object.defineProperty(r,t,{enumerable:!0,get:function(){return e[t]}})}),r},t.export=function(e,r,t){Object.defineProperty(e,r,{enumerable:!0,get:t})}},{}]},["jz4E5"],"jz4E5","parcelRequireb9c8",{});
|
||||
!function(e,r,t,n,o,i,u,l){var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof f[n]&&f[n],d=a.i||{},c=a.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(r,t){if(!c[r]){if(!e[r]){if(o[r])return o[r];var i="function"==typeof f[n]&&f[n];if(!t&&i)return i(r,!0);if(a)return a(r,!0);if(s&&"string"==typeof r)return s(r);var u=Error("Cannot find module '"+r+"'");throw u.code="MODULE_NOT_FOUND",u}d.resolve=function(t){var n=e[r][1][t];return null!=n?n:t},d.cache={};var l=c[r]=new p.Module(r);e[r][0].call(l.exports,d,l,l.exports,f)}return c[r].exports;function d(e){var r=d.resolve(e);return!1===r?{}:p(r)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=s,this.exports={}},p.modules=e,p.cache=c,p.parent=a,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=d,p.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]},Object.defineProperty(p,"root",{get:function(){return f[n]}}),f[n]=p;for(var m=0;m<r.length;m++)p(r[m]);if(t){var g=p(t);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({"2PWBI":[function(e,r,t,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e={}){return r=>{var t,n,o,i,u,l,f;let{$video:a}=r.template,{createElement:d,addClass:c,setStyles:s}=r.constructor.utils,{blur:p="50px",opacity:m=.5,frequency:g=10,duration:y=.3}=e,h=d("div"),b=((t=h).innerHTML=Array.from({length:9}).fill("<div></div>").join(""),Array.from(t.children));n=h,o=a,c(n,"artplayer-plugin-ambilight"),o.parentNode.insertBefore(n,o),s(n,{position:"absolute",top:0,left:0,zIndex:9,inset:0,display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gridTemplateRows:"1fr 1fr 1fr"}),i=b,u=p,l=m,f=y,i.forEach(e=>{s(e,{opacity:l,filter:`blur(${u})`,transition:`background-color ${f}s ease`})});let v=function(e,t,n){let o=d("canvas"),i=o.getContext("2d");o.width=3,o.height=3;let u=0;return function o(){let l=performance.now();if(l-u<1e3/n||!r.playing){w=requestAnimationFrame(o);return}u=l;let f=e.videoWidth/3,a=e.videoHeight/3,d=[[0,0],[f,0],[2*f,0],[0,a],[f,a],[2*f,a],[0,2*a],[f,2*a],[2*f,2*a]].map(([r,t])=>(function(r,t,n,o){i.drawImage(e,r,t,n,o,0,0,1,1);let[u,l,f]=i.getImageData(0,0,1,1).data;return`rgb(${u}, ${l}, ${f})`})(r,t,f,a));t.forEach((e,r)=>{e.style.backgroundColor=d[r]}),w=requestAnimationFrame(o)}}(a,b,g),w=null;function x(){w||v()}function j(){w&&(cancelAnimationFrame(w),w=null)}return r.on("ready",x),r.on("destroy",j),{name:"artplayerPluginAmbilight",start:x,stop:j}}}o.defineInteropFlag(t),o.export(t,"default",()=>i),"undefined"!=typeof window&&(window.artplayerPluginAmbilight=i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"6ykb1"}],"6ykb1":[function(e,r,t,n){t.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},t.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},t.exportAll=function(e,r){return Object.keys(e).forEach(function(t){"default"===t||"__esModule"===t||Object.prototype.hasOwnProperty.call(r,t)||Object.defineProperty(r,t,{enumerable:!0,get:function(){return e[t]}})}),r},t.export=function(e,r,t){Object.defineProperty(e,r,{enumerable:!0,get:t})}},{}]},["2PWBI"],"2PWBI","parcelRequire4dc0",{});
|
||||
+1
-1
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,r,t,n,o,i,a,u){var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},f="function"==typeof c[n]&&c[n],l=f.i||{},d=f.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(r,t){if(!d[r]){if(!e[r]){if(o[r])return o[r];var i="function"==typeof c[n]&&c[n];if(!t&&i)return i(r,!0);if(f)return f(r,!0);if(s&&"string"==typeof r)return s(r);var a=Error("Cannot find module '"+r+"'");throw a.code="MODULE_NOT_FOUND",a}l.resolve=function(t){var n=e[r][1][t];return null!=n?n:t},l.cache={};var u=d[r]=new p.Module(r);e[r][0].call(u.exports,l,u,u.exports,c)}return d[r].exports;function l(e){var r=l.resolve(e);return!1===r?{}:p(r)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=s,this.exports={}},p.modules=e,p.cache=d,p.parent=f,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=l,p.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]},Object.defineProperty(p,"root",{get:function(){return c[n]}}),c[n]=p;for(var y=0;y<r.length;y++)p(r[y]);if(t){var v=p(t);"object"==typeof exports&&"undefined"!=typeof module?module.exports=v:"function"==typeof define&&define.amd&&define(function(){return v})}}({bzF6W:[function(e,r,t,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(t),o.export(t,"default",function(){return a});var i=e("@swc/helpers/cjs/_sliced_to_array.cjs");function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(r){var t,n,o,a,u,c,f,l,d,s,p,y,v,m=r.template.$video,b=r.constructor.utils,g=b.createElement,h=b.addClass,_=b.setStyles,w=e.blur,j=e.opacity,x=e.frequency,A=e.duration,O=g("div"),I=((t=O).innerHTML=Array(9).fill("<div></div>").join(""),Array.from(t.children));n=O,o=m,h(n,"artplayer-plugin-ambilight"),o.parentNode.insertBefore(n,o),_(n,{position:"absolute",top:0,left:0,zIndex:9,inset:0,display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gridTemplateRows:"1fr 1fr 1fr"}),a=I,u=void 0===w?"50px":w,c=void 0===j?.5:j,f=void 0===A?.3:A,a.forEach(function(e){_(e,{opacity:c,filter:"blur(".concat(u,")"),transition:"background-color ".concat(f,"s ease")})});var M=(l=m,d=I,s=void 0===x?10:x,y=(p=g("canvas")).getContext("2d"),p.width=3,p.height=3,v=0,function e(){var t=performance.now();if(t-v<1e3/s||!r.playing){E=requestAnimationFrame(e);return}v=t;var n=l.videoWidth/3,o=l.videoHeight/3,a=[[0,0],[n,0],[2*n,0],[0,o],[n,o],[2*n,o],[0,2*o],[n,2*o],[2*n,2*o]].map(function(e){var r,t,a,u,c=(0,i._)(e,2),f=c[0],d=c[1];return y.drawImage(l,f,d,n,o,0,0,1,1),t=(r=(0,i._)(y.getImageData(0,0,1,1).data,3))[0],a=r[1],u=r[2],"rgb(".concat(t,", ").concat(a,", ").concat(u,")")});d.forEach(function(e,r){e.style.backgroundColor=a[r]}),E=requestAnimationFrame(e)}),E=null;function F(){E||M()}function S(){E&&(cancelAnimationFrame(E),E=null)}return r.on("ready",F),r.on("destroy",S),{name:"artplayerPluginAmbilight",start:F,stop:S}}}"undefined"!=typeof window&&(window.artplayerPluginAmbilight=a)},{"@swc/helpers/cjs/_sliced_to_array.cjs":"69dwW","@parcel/transformer-js/src/esmodule-helpers.js":"ihnSZ"}],"69dwW":[function(e,r,t,n){"use strict";var o=e("1c05c980d01d7095"),i=e("d604d0840046159b"),a=e("9ac1542249932d1a"),u=e("d04f777c592843b");t._=function(e,r){return o._(e)||i._(e,r)||u._(e,r)||a._()}},{"1c05c980d01d7095":"dgv90",d604d0840046159b:"8f1n5","9ac1542249932d1a":"edvMI",d04f777c592843b:"ikxEb"}],dgv90:[function(e,r,t,n){"use strict";t._=function(e){if(Array.isArray(e))return e}},{}],"8f1n5":[function(e,r,t,n){"use strict";t._=function(e,r){var t,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],a=!0,u=!1;try{for(o=o.call(e);!(a=(t=o.next()).done)&&(i.push(t.value),!r||i.length!==r);a=!0);}catch(e){u=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(u)throw n}}return i}}},{}],edvMI:[function(e,r,t,n){"use strict";t._=function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},{}],ikxEb:[function(e,r,t,n){"use strict";var o=e("3202629de7a6dd0f");t._=function(e,r){if(e){if("string"==typeof e)return o._(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return o._(e,r)}}},{"3202629de7a6dd0f":"8HLaN"}],"8HLaN":[function(e,r,t,n){"use strict";t._=function(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}},{}],ihnSZ:[function(e,r,t,n){t.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},t.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},t.exportAll=function(e,r){return Object.keys(e).forEach(function(t){"default"===t||"__esModule"===t||Object.prototype.hasOwLine truncated
|
||||
!function(e,r,t,n,o,i,a,u){var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},c="function"==typeof f[n]&&f[n],l=c.i||{},d=c.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(r,t){if(!d[r]){if(!e[r]){if(o[r])return o[r];var i="function"==typeof f[n]&&f[n];if(!t&&i)return i(r,!0);if(c)return c(r,!0);if(s&&"string"==typeof r)return s(r);var a=Error("Cannot find module '"+r+"'");throw a.code="MODULE_NOT_FOUND",a}l.resolve=function(t){var n=e[r][1][t];return null!=n?n:t},l.cache={};var u=d[r]=new p.Module(r);e[r][0].call(u.exports,l,u,u.exports,f)}return d[r].exports;function l(e){var r=l.resolve(e);return!1===r?{}:p(r)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=s,this.exports={}},p.modules=e,p.cache=d,p.parent=c,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=l,p.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]},Object.defineProperty(p,"root",{get:function(){return f[n]}}),f[n]=p;for(var y=0;y<r.length;y++)p(r[y]);if(t){var m=p(t);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({"8Uro8":[function(e,r,t,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(t),o.export(t,"default",function(){return a});var i=e("@swc/helpers/cjs/_sliced_to_array.cjs");function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(r){var t,n,o,a,u,f,c,l,d,s,p,y,m,v=r.template.$video,h=r.constructor.utils,g=h.createElement,b=h.addClass,_=h.setStyles,j=e.blur,w=e.opacity,x=e.frequency,A=e.duration,S=g("div"),O=((t=S).innerHTML=Array.from({length:9}).fill("<div></div>").join(""),Array.from(t.children));n=S,o=v,b(n,"artplayer-plugin-ambilight"),o.parentNode.insertBefore(n,o),_(n,{position:"absolute",top:0,left:0,zIndex:9,inset:0,display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gridTemplateRows:"1fr 1fr 1fr"}),a=O,u=void 0===j?"50px":j,f=void 0===w?.5:w,c=void 0===A?.3:A,a.forEach(function(e){_(e,{opacity:f,filter:"blur(".concat(u,")"),transition:"background-color ".concat(c,"s ease")})});var M=(l=v,d=O,s=void 0===x?10:x,y=(p=g("canvas")).getContext("2d"),p.width=3,p.height=3,m=0,function e(){var t=performance.now();if(t-m<1e3/s||!r.playing){q=requestAnimationFrame(e);return}m=t;var n=l.videoWidth/3,o=l.videoHeight/3,a=[[0,0],[n,0],[2*n,0],[0,o],[n,o],[2*n,o],[0,2*o],[n,2*o],[2*n,2*o]].map(function(e){var r,t,a,u,f=(0,i._)(e,2),c=f[0],d=f[1];return y.drawImage(l,c,d,n,o,0,0,1,1),t=(r=(0,i._)(y.getImageData(0,0,1,1).data,3))[0],a=r[1],u=r[2],"rgb(".concat(t,", ").concat(a,", ").concat(u,")")});d.forEach(function(e,r){e.style.backgroundColor=a[r]}),q=requestAnimationFrame(e)}),q=null;function I(){q||M()}function P(){q&&(cancelAnimationFrame(q),q=null)}return r.on("ready",I),r.on("destroy",P),{name:"artplayerPluginAmbilight",start:I,stop:P}}}"undefined"!=typeof window&&(window.artplayerPluginAmbilight=a)},{"@swc/helpers/cjs/_sliced_to_array.cjs":"gIQTH","@parcel/transformer-js/src/esmodule-helpers.js":"qpMMf"}],gIQTH:[function(e,r,t,n){"use strict";var o=e("d7c30a5ae0c1ab2"),i=e("3aacfce52f67defd"),a=e("f0dae09a1a08b16a"),u=e("83f3648e614d0830");t._=function(e,r){return o._(e)||i._(e,r)||u._(e,r)||a._()}},{d7c30a5ae0c1ab2:"3QSPl","3aacfce52f67defd":"5SSeo",f0dae09a1a08b16a:"heYSj","83f3648e614d0830":"fh7mx"}],"3QSPl":[function(e,r,t,n){"use strict";t._=function(e){if(Array.isArray(e))return e}},{}],"5SSeo":[function(e,r,t,n){"use strict";t._=function(e,r){var t,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],a=!0,u=!1;try{for(o=o.call(e);!(a=(t=o.next()).done)&&(i.push(t.value),!r||i.length!==r);a=!0);}catch(e){u=!0,n=e}finally{try{a||null==o.return||o.return()}finally{if(u)throw n}}return i}}},{}],heYSj:[function(e,r,t,n){"use strict";t._=function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},{}],fh7mx:[function(e,r,t,n){"use strict";var o=e("3ee51b7dc02d0c44");t._=function(e,r){if(e){if("string"==typeof e)return o._(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return o._(e,r)}}},{"3ee51b7dc02d0c44":"1WOAB"}],"1WOAB":[function(e,r,t,n){"use strict";t._=function(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}},{}],qpMMf:[function(e,r,t,n){t.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},t.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},t.exportAll=function(e,r){return Object.keys(e).forEach(function(t){"default"===t||"__esModule"===t||ObjectLine truncated
|
||||
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"license": "MIT",
|
||||
"version": "1.0.0",
|
||||
"name": "artplayer-plugin-ambilight",
|
||||
"description": "ambilight plugin for ArtPlayer",
|
||||
"main": "dist/artplayer-plugin-ambilight.js",
|
||||
"legacy": "dist/artplayer-plugin-ambilight.legacy.js",
|
||||
"module": "dist/artplayer-plugin-ambilight.esm.js",
|
||||
"types": "types/artplayer-plugin-ambilight.d.ts",
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-ambilight.esm.js",
|
||||
"require": "./dist/artplayer-plugin-ambilight.js",
|
||||
"default": "./dist/artplayer-plugin-ambilight.js"
|
||||
},
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
]
|
||||
"name": "artplayer-plugin-ambilight",
|
||||
"version": "1.0.0",
|
||||
"description": "ambilight plugin for ArtPlayer",
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"license": "MIT",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-ambilight.esm.js",
|
||||
"require": "./dist/artplayer-plugin-ambilight.js",
|
||||
"default": "./dist/artplayer-plugin-ambilight.js"
|
||||
},
|
||||
"main": "dist/artplayer-plugin-ambilight.js",
|
||||
"legacy": "dist/artplayer-plugin-ambilight.legacy.js",
|
||||
"module": "dist/artplayer-plugin-ambilight.esm.js",
|
||||
"types": "types/artplayer-plugin-ambilight.d.ts",
|
||||
"browserslist": "last 1 Chrome version"
|
||||
}
|
||||
@@ -1,119 +1,119 @@
|
||||
export default function artplayerPluginAmbilight(option = {}) {
|
||||
return (art) => {
|
||||
const { $video } = art.template;
|
||||
const { createElement, addClass, setStyles } = art.constructor.utils;
|
||||
const { blur = '50px', opacity = 0.5, frequency = 10, duration = 0.3 } = option;
|
||||
return (art) => {
|
||||
const { $video } = art.template
|
||||
const { createElement, addClass, setStyles } = art.constructor.utils
|
||||
const { blur = '50px', opacity = 0.5, frequency = 10, duration = 0.3 } = option
|
||||
|
||||
const $ambilight = createElement('div');
|
||||
const gridItems = createGridItems($ambilight);
|
||||
const $ambilight = createElement('div')
|
||||
const gridItems = createGridItems($ambilight)
|
||||
|
||||
setupAmbilight($ambilight, $video);
|
||||
setupGridItems(gridItems, blur, opacity, duration);
|
||||
setupAmbilight($ambilight, $video)
|
||||
setupGridItems(gridItems, blur, opacity, duration)
|
||||
|
||||
const updateColors = createColorUpdater($video, gridItems, frequency);
|
||||
const updateColors = createColorUpdater($video, gridItems, frequency)
|
||||
|
||||
let animationFrameId = null;
|
||||
let animationFrameId = null
|
||||
|
||||
function start() {
|
||||
if (!animationFrameId) {
|
||||
updateColors();
|
||||
}
|
||||
function start() {
|
||||
if (!animationFrameId) {
|
||||
updateColors()
|
||||
}
|
||||
}
|
||||
|
||||
function stop() {
|
||||
if (animationFrameId) {
|
||||
cancelAnimationFrame(animationFrameId)
|
||||
animationFrameId = null
|
||||
}
|
||||
}
|
||||
|
||||
art.on('ready', start)
|
||||
art.on('destroy', stop)
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginAmbilight',
|
||||
start,
|
||||
stop,
|
||||
}
|
||||
|
||||
function createGridItems($ambilight) {
|
||||
$ambilight.innerHTML = Array.from({ length: 9 }).fill('<div></div>').join('')
|
||||
return Array.from($ambilight.children)
|
||||
}
|
||||
|
||||
function setupAmbilight($ambilight, $video) {
|
||||
addClass($ambilight, 'artplayer-plugin-ambilight')
|
||||
$video.parentNode.insertBefore($ambilight, $video)
|
||||
setStyles($ambilight, {
|
||||
position: 'absolute',
|
||||
top: 0,
|
||||
left: 0,
|
||||
zIndex: 9,
|
||||
inset: 0,
|
||||
display: 'grid',
|
||||
gridTemplateColumns: '1fr 1fr 1fr',
|
||||
gridTemplateRows: '1fr 1fr 1fr',
|
||||
})
|
||||
}
|
||||
|
||||
function setupGridItems(gridItems, blur, opacity, duration) {
|
||||
gridItems.forEach(($item) => {
|
||||
setStyles($item, {
|
||||
opacity,
|
||||
filter: `blur(${blur})`,
|
||||
transition: `background-color ${duration}s ease`,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function createColorUpdater($video, gridItems, frequency) {
|
||||
const canvas = createElement('canvas')
|
||||
const ctx = canvas.getContext('2d')
|
||||
canvas.width = 3
|
||||
canvas.height = 3
|
||||
|
||||
function getAverageColor(x, y, w, h) {
|
||||
ctx.drawImage($video, x, y, w, h, 0, 0, 1, 1)
|
||||
const [r, g, b] = ctx.getImageData(0, 0, 1, 1).data
|
||||
return `rgb(${r}, ${g}, ${b})`
|
||||
}
|
||||
|
||||
let lastUpdateTime = 0
|
||||
|
||||
return function updateColors() {
|
||||
const now = performance.now()
|
||||
if (now - lastUpdateTime < 1000 / frequency || !art.playing) {
|
||||
animationFrameId = requestAnimationFrame(updateColors)
|
||||
return
|
||||
}
|
||||
|
||||
function stop() {
|
||||
if (animationFrameId) {
|
||||
cancelAnimationFrame(animationFrameId);
|
||||
animationFrameId = null;
|
||||
}
|
||||
}
|
||||
lastUpdateTime = now
|
||||
|
||||
art.on('ready', start);
|
||||
art.on('destroy', stop);
|
||||
const w = $video.videoWidth / 3
|
||||
const h = $video.videoHeight / 3
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginAmbilight',
|
||||
start,
|
||||
stop,
|
||||
};
|
||||
const colors = [
|
||||
[0, 0],
|
||||
[w, 0],
|
||||
[2 * w, 0],
|
||||
[0, h],
|
||||
[w, h],
|
||||
[2 * w, h],
|
||||
[0, 2 * h],
|
||||
[w, 2 * h],
|
||||
[2 * w, 2 * h],
|
||||
].map(([x, y]) => getAverageColor(x, y, w, h))
|
||||
|
||||
function createGridItems($ambilight) {
|
||||
$ambilight.innerHTML = Array(9).fill('<div></div>').join('');
|
||||
return Array.from($ambilight.children);
|
||||
}
|
||||
gridItems.forEach(($item, index) => {
|
||||
$item.style.backgroundColor = colors[index]
|
||||
})
|
||||
|
||||
function setupAmbilight($ambilight, $video) {
|
||||
addClass($ambilight, 'artplayer-plugin-ambilight');
|
||||
$video.parentNode.insertBefore($ambilight, $video);
|
||||
setStyles($ambilight, {
|
||||
position: 'absolute',
|
||||
top: 0,
|
||||
left: 0,
|
||||
zIndex: 9,
|
||||
inset: 0,
|
||||
display: 'grid',
|
||||
gridTemplateColumns: '1fr 1fr 1fr',
|
||||
gridTemplateRows: '1fr 1fr 1fr',
|
||||
});
|
||||
}
|
||||
|
||||
function setupGridItems(gridItems, blur, opacity, duration) {
|
||||
gridItems.forEach(($item) => {
|
||||
setStyles($item, {
|
||||
opacity,
|
||||
filter: `blur(${blur})`,
|
||||
transition: `background-color ${duration}s ease`,
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function createColorUpdater($video, gridItems, frequency) {
|
||||
const canvas = createElement('canvas');
|
||||
const ctx = canvas.getContext('2d');
|
||||
canvas.width = 3;
|
||||
canvas.height = 3;
|
||||
|
||||
function getAverageColor(x, y, w, h) {
|
||||
ctx.drawImage($video, x, y, w, h, 0, 0, 1, 1);
|
||||
const [r, g, b] = ctx.getImageData(0, 0, 1, 1).data;
|
||||
return `rgb(${r}, ${g}, ${b})`;
|
||||
}
|
||||
|
||||
let lastUpdateTime = 0;
|
||||
|
||||
return function updateColors() {
|
||||
const now = performance.now();
|
||||
if (now - lastUpdateTime < 1000 / frequency || !art.playing) {
|
||||
animationFrameId = requestAnimationFrame(updateColors);
|
||||
return;
|
||||
}
|
||||
|
||||
lastUpdateTime = now;
|
||||
|
||||
const w = $video.videoWidth / 3;
|
||||
const h = $video.videoHeight / 3;
|
||||
|
||||
const colors = [
|
||||
[0, 0],
|
||||
[w, 0],
|
||||
[2 * w, 0],
|
||||
[0, h],
|
||||
[w, h],
|
||||
[2 * w, h],
|
||||
[0, 2 * h],
|
||||
[w, 2 * h],
|
||||
[2 * w, 2 * h],
|
||||
].map(([x, y]) => getAverageColor(x, y, w, h));
|
||||
|
||||
gridItems.forEach(($item, index) => {
|
||||
$item.style.backgroundColor = colors[index];
|
||||
});
|
||||
|
||||
animationFrameId = requestAnimationFrame(updateColors);
|
||||
};
|
||||
}
|
||||
};
|
||||
animationFrameId = requestAnimationFrame(updateColors)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window['artplayerPluginAmbilight'] = artplayerPluginAmbilight;
|
||||
window.artplayerPluginAmbilight = artplayerPluginAmbilight
|
||||
}
|
||||
+15
-15
@@ -1,20 +1,20 @@
|
||||
import type Artplayer from 'artplayer';
|
||||
import type Artplayer from 'artplayer'
|
||||
|
||||
export = artplayerPluginAmbilight;
|
||||
export = artplayerPluginAmbilight
|
||||
export as namespace artplayerPluginAmbilight;
|
||||
|
||||
type Option = {
|
||||
blur?: string;
|
||||
opacity?: number;
|
||||
frequency?: number;
|
||||
zIndex?: number;
|
||||
duration?: number;
|
||||
};
|
||||
interface Option {
|
||||
blur?: string
|
||||
opacity?: number
|
||||
frequency?: number
|
||||
zIndex?: number
|
||||
duration?: number
|
||||
}
|
||||
|
||||
type Result = {
|
||||
name: 'artplayerPluginAmbilight';
|
||||
start: () => void;
|
||||
stop: () => void;
|
||||
};
|
||||
interface Result {
|
||||
name: 'artplayerPluginAmbilight'
|
||||
start: () => void
|
||||
stop: () => void
|
||||
}
|
||||
|
||||
declare const artplayerPluginAmbilight: (option: Option) => (art: Artplayer) => Result;
|
||||
declare const artplayerPluginAmbilight: (option: Option) => (art: Artplayer) => Result
|
||||
@@ -5,5 +5,5 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,n,o,a,i,l){var u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof u[n]&&u[n],c=s.i||{},d=s.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!d[t]){if(!e[t]){if(o[t])return o[t];var a="function"==typeof u[n]&&u[n];if(!r&&a)return a(t,!0);if(s)return s(t,!0);if(p&&"string"==typeof t)return p(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}c.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},c.cache={};var l=d[t]=new f.Module(t);e[t][0].call(l.exports,c,l,l.exports,u)}return d[t].exports;function c(e){var t=c.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=p,this.exports={}},f.modules=e,f.cache=d,f.parent=s,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=c,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return u[n]}}),u[n]=f;for(var y=0;y<t.length;y++)f(t[y]);if(r){var m=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({"4omrA":[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",()=>l);var a=e("bundle-text:./style.less"),i=o.interopDefault(a);function l(e={}){let{length:t=3,interval:r=100,sampleRate:n=16e3,autoHideTimeout:o=1e4,onAudioChunk:a=()=>null}=e;return e=>{let i=!1,l=null,u=null,s=null,c=null,d=[],p=null,f=!1,y=null,m=null,g=null,b=e.layers.add({name:"asr",html:""});function v(){b.style.display="none"}function w(e){"string"==typeof e&&(clearTimeout(y),y=setTimeout(v,o),b.style.display="",b.innerHTML=e.split(/(?<=[、。!?!?\.])\s*/u).map(e=>e.trim()).filter(Boolean).slice(-t).map(e=>`<div class="art-asr-line">${e}</div>`).join(""))}let h=` class RecorderProcessor extends AudioWorkletProcessor { process(inputs) { const input = inputs[0]; if (input && input[0]) { this.port.postMessage(input[0]); } return true; } } registerProcessor('recorder-processor', RecorderProcessor); `,x=()=>{let e=new Blob([h],{type:"application/javascript"});return URL.createObjectURL(e)};async function A(){return l||"suspended"===(l=new(window.AudioContext||window.webkitAudioContext)({sampleRate:n})).state&&await l.resume(),l}async function U(){if(!u&&e.video)try{return u=l.createMediaElementSource(e.video)}catch(e){console.warn("[artplayerPluginAsr] Direct connection failed:",e)}try{if(m||(m=await P(e.video)),m)return g=l.createMediaStreamSource(m)}catch(e){console.warn("[artplayerPluginAsr] MediaStream fallback failed:",e)}return null}async function P(e){try{if(e.captureStream)return e.captureStream();if(e.mozCaptureStream)return e.mozCaptureStream();return console.warn("[artplayerPluginAsr] captureStream not supported"),null}catch(e){return console.warn("[artplayerPluginAsr] Error capturing stream:",e),null}}async function j(){if(!i)try{await A();let e=await U();if(!e)throw Error("Could not establish audio source");if(!f){let e=x();await l.audioWorklet.addModule(e),URL.revokeObjectURL(e),f=!0}(c=l.createGain()).gain.value=1,(s=new AudioWorkletNode(l,"recorder-processor")).port.onmessage=e=>{d.push(new Float32Array(e.data))},e.connect(s),e.connect(c),c.connect(l.destination);let t=r/1e3*n;p=setInterval(async()=>{if(0===d.length)return;let e=new Float32Array(0);for(;e.length<t&&d.length;){let t=d.shift(),r=new Float32Array(e.length+t.length);r.set(e,0),r.set(t,e.length),e=r}if(e.length<t)return;let r=e.slice(0,t),o=function(e){let t=e.length,r=new ArrayBuffer(2*t),n=new DataView(r);for(let r=0;r<t;r++){let t=Math.max(-1,Math.min(1,e[r]));n.setInt16(2*r,t<0?32768*t:32767*t,!0)}return r}(r),i=function(e,t){let r=e.byteLength,n=new ArrayBuffer(44+r),o=new DataView(n),a=(e,t)=>{for(let r=0;r<t.length;r++)o.setUint8(e+r,t.charCodeAt(r))};return a(0,"RIFF"),o.setUint32(4,36+r,!0),a(8,"WAVE"),a(12,"fmt "),o.setUint32(16,16,!0),o.setUint16(20,1,!0),o.setUint16(22,1,!0),o.setUint32(24,t,!0),o.setUint32(28,2*t,!0),o.setUint16(32,2,!0),o.setUint16(34,16,!0),a(36,"data"),o.setUint32(40,r,!0),new Uint8Array(n).set(new Uint8Array(e),44),n}(o,n),l=await a({pcm:o,wav:i});w(l)},r),i=!0}catch(e){console.error("[artplayerPluginAsr] Initialization failed:",e),await M()}}async function M(){i&&(i=!1,clearInterval(p),p=null,s&&(s.disconnect(),s.port.onmessage=null,s=null),c&&(c.disconnect(),c=null),d=[])}async function O(){await M(),g&&(g.disconnect(),g=null),u&&(u.disconnect(),u=null),m&&(m.getTracks().forEach(e=>e.stop()),m=null),l&&(await l.close(),l=null),f=!1}return e.on("video:volumechange",()=>{c&&(c.gain.value=e.volume)}),e.on("play",j),e.on("pause",M),e.on("destroy",O),{name:"artplayerPluginAsr",stop:O,hide:v,append:w}}}if("undefined"!=typeof document&&!document.getElementById("artplayer-plugin-asr")){lLine truncated
|
||||
!function(e,t,r,n,o,a,i,l){var u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof u[n]&&u[n],c=s.i||{},d=s.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!d[t]){if(!e[t]){if(o[t])return o[t];var a="function"==typeof u[n]&&u[n];if(!r&&a)return a(t,!0);if(s)return s(t,!0);if(p&&"string"==typeof t)return p(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}c.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},c.cache={};var l=d[t]=new f.Module(t);e[t][0].call(l.exports,c,l,l.exports,u)}return d[t].exports;function c(e){var t=c.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=p,this.exports={}},f.modules=e,f.cache=d,f.parent=s,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=c,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return u[n]}}),u[n]=f;for(var y=0;y<t.length;y++)f(t[y]);if(r){var m=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({"40eeC":[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",()=>l);var a=e("bundle-text:./style.less"),i=o.interopDefault(a);function l(e={}){let{length:t=3,interval:r=100,sampleRate:n=16e3,autoHideTimeout:o=1e4,onAudioChunk:a=()=>null}=e;return e=>{let i=!1,l=null,u=null,s=null,c=null,d=[],p=null,f=!1,y=null,m=null,b=null,g=e.layers.add({name:"asr",html:""});function v(){g.style.display="none"}function h(e){"string"==typeof e&&(clearTimeout(y),y=setTimeout(v,o),g.style.display="",g.innerHTML=e.split(/(?<=[、。!?!?.])\s*/u).map(e=>e.trim()).filter(Boolean).slice(-t).map(e=>`<div class="art-asr-line">${e}</div>`).join(""))}let w=` class RecorderProcessor extends AudioWorkletProcessor { process(inputs) { const input = inputs[0]; if (input && input[0]) { this.port.postMessage(input[0]); } return true; } } registerProcessor('recorder-processor', RecorderProcessor); `;async function x(){return l||"suspended"===(l=new(window.AudioContext||window.webkitAudioContext)({sampleRate:n})).state&&await l.resume(),l}async function A(){if(!u&&e.video)try{return u=l.createMediaElementSource(e.video)}catch(e){console.warn("[artplayerPluginAsr] Direct connection failed:",e)}try{if(m||(m=await U(e.video)),m)return b=l.createMediaStreamSource(m)}catch(e){console.warn("[artplayerPluginAsr] MediaStream fallback failed:",e)}return null}async function U(e){try{if(e.captureStream)return e.captureStream();if(e.mozCaptureStream)return e.mozCaptureStream();return console.warn("[artplayerPluginAsr] captureStream not supported"),null}catch(e){return console.warn("[artplayerPluginAsr] Error capturing stream:",e),null}}async function P(){if(!i)try{await x();let e=await A();if(!e)throw Error("Could not establish audio source");if(!f){let e=(()=>{let e=new Blob([w],{type:"application/javascript"});return URL.createObjectURL(e)})();await l.audioWorklet.addModule(e),URL.revokeObjectURL(e),f=!0}(c=l.createGain()).gain.value=1,(s=new AudioWorkletNode(l,"recorder-processor")).port.onmessage=e=>{d.push(new Float32Array(e.data))},e.connect(s),e.connect(c),c.connect(l.destination);let t=r/1e3*n;p=setInterval(async()=>{if(0===d.length)return;let e=new Float32Array(0);for(;e.length<t&&d.length;){let t=d.shift(),r=new Float32Array(e.length+t.length);r.set(e,0),r.set(t,e.length),e=r}if(e.length<t)return;let r=e.slice(0,t),o=function(e){let t=e.length,r=new ArrayBuffer(2*t),n=new DataView(r);for(let r=0;r<t;r++){let t=Math.max(-1,Math.min(1,e[r]));n.setInt16(2*r,t<0?32768*t:32767*t,!0)}return r}(r),i=function(e,t){let r=e.byteLength,n=new ArrayBuffer(44+r),o=new DataView(n),a=(e,t)=>{for(let r=0;r<t.length;r++)o.setUint8(e+r,t.charCodeAt(r))};return a(0,"RIFF"),o.setUint32(4,36+r,!0),a(8,"WAVE"),a(12,"fmt "),o.setUint32(16,16,!0),o.setUint16(20,1,!0),o.setUint16(22,1,!0),o.setUint32(24,t,!0),o.setUint32(28,2*t,!0),o.setUint16(32,2,!0),o.setUint16(34,16,!0),a(36,"data"),o.setUint32(40,r,!0),new Uint8Array(n).set(new Uint8Array(e),44),n}(o,n),l=await a({pcm:o,wav:i});h(l)},r),i=!0}catch(e){console.error("[artplayerPluginAsr] Initialization failed:",e),await j()}}async function j(){i&&(i=!1,clearInterval(p),p=null,s&&(s.disconnect(),s.port.onmessage=null,s=null),c&&(c.disconnect(),c=null),d=[])}async function M(){await j(),b&&(b.disconnect(),b=null),u&&(u.disconnect(),u=null),m&&(m.getTracks().forEach(e=>e.stop()),m=null),l&&(await l.close(),l=null),f=!1}return e.on("video:volumechange",()=>{c&&(c.gain.value=e.volume)}),e.on("play",P),e.on("pause",j),e.on("destroy",M),{name:"artplayerPluginAsr",stop:M,hide:v,append:h}}}if("undefined"!=typeof document&&!document.getElementById("artplayer-plugin-asr")){let
Line truncated
|
||||
//# sourceMappingURL=artplayer-plugin-asr.esm.js.map
|
||||
@@ -1 +1 @@
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCEwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAFxB,IAAA,EAAA,EAAA,4B,E,E,c,C,GAEe,SAAS,EAAmB,EAAS,CAAC,CAAC,EAClD,GAAM,CACF,OAAA,EAAS,CAAC,CACV,SAAA,EAAW,GAAG,CACd,WAAA,EAAa,IAAK,CAClB,gBAAA,EAAkB,GAAK,CACvB,aAAA,EAAe,IAAM,IAAI,CAC5B,CAAG,EAEJ,OAAO,AAAC,IACJ,IAAI,EAAU,CAAA,EACV,EAAW,KACX,EAAa,KACb,EAAe,KACf,EAAW,KACX,EAAe,EAAE,CACjB,EAAQ,KACR,EA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 truncated
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCEwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAFxB,IAAA,EAAA,EAAA,4B,E,E,c,C,GAEe,SAAS,EAAmB,EAAS,CAAC,CAAC,EACpD,GAAM,CACJ,OAAA,EAAS,CAAC,CACV,SAAA,EAAW,GAAG,CACd,WAAA,EAAa,IAAK,CAClB,gBAAA,EAAkB,GAAK,CACvB,aAAA,EAAe,IAAM,IAAI,CAC1B,CAAG,EAEJ,OAAO,AAAC,IACN,IAAI,EAAU,CAAA,EACV,EAAW,KACX,EAAa,KACb,EAAe,KACf,EAAW,KACX,EAAe,EAAE,CACjB,EAAQ,KACR,EA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 truncated
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,n,o,a,i,l){var u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof u[n]&&u[n],c=s.i||{},d=s.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!d[t]){if(!e[t]){if(o[t])return o[t];var a="function"==typeof u[n]&&u[n];if(!r&&a)return a(t,!0);if(s)return s(t,!0);if(p&&"string"==typeof t)return p(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}c.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},c.cache={};var l=d[t]=new f.Module(t);e[t][0].call(l.exports,c,l,l.exports,u)}return d[t].exports;function c(e){var t=c.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=p,this.exports={}},f.modules=e,f.cache=d,f.parent=s,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=c,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return u[n]}}),u[n]=f;for(var y=0;y<t.length;y++)f(t[y]);if(r){var m=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({jz4E5:[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",()=>l);var a=e("bundle-text:./style.less"),i=o.interopDefault(a);function l(e={}){let{length:t=3,interval:r=100,sampleRate:n=16e3,autoHideTimeout:o=1e4,onAudioChunk:a=()=>null}=e;return e=>{let i=!1,l=null,u=null,s=null,c=null,d=[],p=null,f=!1,y=null,m=null,b=null,g=e.layers.add({name:"asr",html:""});function v(){g.style.display="none"}function w(e){"string"==typeof e&&(clearTimeout(y),y=setTimeout(v,o),g.style.display="",g.innerHTML=e.split(/(?<=[、。!?!?\.])\s*/u).map(e=>e.trim()).filter(Boolean).slice(-t).map(e=>`<div class="art-asr-line">${e}</div>`).join(""))}let h=` class RecorderProcessor extends AudioWorkletProcessor { process(inputs) { const input = inputs[0]; if (input && input[0]) { this.port.postMessage(input[0]); } return true; } } registerProcessor('recorder-processor', RecorderProcessor); `,x=()=>{let e=new Blob([h],{type:"application/javascript"});return URL.createObjectURL(e)};async function A(){return l||"suspended"===(l=new(window.AudioContext||window.webkitAudioContext)({sampleRate:n})).state&&await l.resume(),l}async function j(){if(!u&&e.video)try{return u=l.createMediaElementSource(e.video)}catch(e){console.warn("[artplayerPluginAsr] Direct connection failed:",e)}try{if(m||(m=await U(e.video)),m)return b=l.createMediaStreamSource(m)}catch(e){console.warn("[artplayerPluginAsr] MediaStream fallback failed:",e)}return null}async function U(e){try{if(e.captureStream)return e.captureStream();if(e.mozCaptureStream)return e.mozCaptureStream();return console.warn("[artplayerPluginAsr] captureStream not supported"),null}catch(e){return console.warn("[artplayerPluginAsr] Error capturing stream:",e),null}}async function P(){if(!i)try{await A();let e=await j();if(!e)throw Error("Could not establish audio source");if(!f){let e=x();await l.audioWorklet.addModule(e),URL.revokeObjectURL(e),f=!0}(c=l.createGain()).gain.value=1,(s=new AudioWorkletNode(l,"recorder-processor")).port.onmessage=e=>{d.push(new Float32Array(e.data))},e.connect(s),e.connect(c),c.connect(l.destination);let t=r/1e3*n;p=setInterval(async()=>{if(0===d.length)return;let e=new Float32Array(0);for(;e.length<t&&d.length;){let t=d.shift(),r=new Float32Array(e.length+t.length);r.set(e,0),r.set(t,e.length),e=r}if(e.length<t)return;let r=e.slice(0,t),o=function(e){let t=e.length,r=new ArrayBuffer(2*t),n=new DataView(r);for(let r=0;r<t;r++){let t=Math.max(-1,Math.min(1,e[r]));n.setInt16(2*r,t<0?32768*t:32767*t,!0)}return r}(r),i=function(e,t){let r=e.byteLength,n=new ArrayBuffer(44+r),o=new DataView(n),a=(e,t)=>{for(let r=0;r<t.length;r++)o.setUint8(e+r,t.charCodeAt(r))};return a(0,"RIFF"),o.setUint32(4,36+r,!0),a(8,"WAVE"),a(12,"fmt "),o.setUint32(16,16,!0),o.setUint16(20,1,!0),o.setUint16(22,1,!0),o.setUint32(24,t,!0),o.setUint32(28,2*t,!0),o.setUint16(32,2,!0),o.setUint16(34,16,!0),a(36,"data"),o.setUint32(40,r,!0),new Uint8Array(n).set(new Uint8Array(e),44),n}(o,n),l=await a({pcm:o,wav:i});w(l)},r),i=!0}catch(e){console.error("[artplayerPluginAsr] Initialization failed:",e),await M()}}async function M(){i&&(i=!1,clearInterval(p),p=null,s&&(s.disconnect(),s.port.onmessage=null,s=null),c&&(c.disconnect(),c=null),d=[])}async function O(){await M(),b&&(b.disconnect(),b=null),u&&(u.disconnect(),u=null),m&&(m.getTracks().forEach(e=>e.stop()),m=null),l&&(await l.close(),l=null),f=!1}return e.on("video:volumechange",()=>{c&&(c.gain.value=e.volume)}),e.on("play",P),e.on("pause",M),e.on("destroy",O),{name:"artplayerPluginAsr",stop:O,hide:v,append:w}}}if("undefined"!=typeof document&&!document.getElementById("artplayer-plugin-asr")){letLine truncated
|
||||
!function(e,t,r,n,o,a,i,l){var u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof u[n]&&u[n],c=s.i||{},d=s.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!d[t]){if(!e[t]){if(o[t])return o[t];var a="function"==typeof u[n]&&u[n];if(!r&&a)return a(t,!0);if(s)return s(t,!0);if(p&&"string"==typeof t)return p(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}c.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},c.cache={};var l=d[t]=new f.Module(t);e[t][0].call(l.exports,c,l,l.exports,u)}return d[t].exports;function c(e){var t=c.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=p,this.exports={}},f.modules=e,f.cache=d,f.parent=s,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=c,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return u[n]}}),u[n]=f;for(var y=0;y<t.length;y++)f(t[y]);if(r){var m=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({"1gnQM":[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",()=>l);var a=e("bundle-text:./style.less"),i=o.interopDefault(a);function l(e={}){let{length:t=3,interval:r=100,sampleRate:n=16e3,autoHideTimeout:o=1e4,onAudioChunk:a=()=>null}=e;return e=>{let i=!1,l=null,u=null,s=null,c=null,d=[],p=null,f=!1,y=null,m=null,b=null,g=e.layers.add({name:"asr",html:""});function v(){g.style.display="none"}function h(e){"string"==typeof e&&(clearTimeout(y),y=setTimeout(v,o),g.style.display="",g.innerHTML=e.split(/(?<=[、。!?!?.])\s*/u).map(e=>e.trim()).filter(Boolean).slice(-t).map(e=>`<div class="art-asr-line">${e}</div>`).join(""))}let w=` class RecorderProcessor extends AudioWorkletProcessor { process(inputs) { const input = inputs[0]; if (input && input[0]) { this.port.postMessage(input[0]); } return true; } } registerProcessor('recorder-processor', RecorderProcessor); `;async function x(){return l||"suspended"===(l=new(window.AudioContext||window.webkitAudioContext)({sampleRate:n})).state&&await l.resume(),l}async function A(){if(!u&&e.video)try{return u=l.createMediaElementSource(e.video)}catch(e){console.warn("[artplayerPluginAsr] Direct connection failed:",e)}try{if(m||(m=await U(e.video)),m)return b=l.createMediaStreamSource(m)}catch(e){console.warn("[artplayerPluginAsr] MediaStream fallback failed:",e)}return null}async function U(e){try{if(e.captureStream)return e.captureStream();if(e.mozCaptureStream)return e.mozCaptureStream();return console.warn("[artplayerPluginAsr] captureStream not supported"),null}catch(e){return console.warn("[artplayerPluginAsr] Error capturing stream:",e),null}}async function M(){if(!i)try{await x();let e=await A();if(!e)throw Error("Could not establish audio source");if(!f){let e=(()=>{let e=new Blob([w],{type:"application/javascript"});return URL.createObjectURL(e)})();await l.audioWorklet.addModule(e),URL.revokeObjectURL(e),f=!0}(c=l.createGain()).gain.value=1,(s=new AudioWorkletNode(l,"recorder-processor")).port.onmessage=e=>{d.push(new Float32Array(e.data))},e.connect(s),e.connect(c),c.connect(l.destination);let t=r/1e3*n;p=setInterval(async()=>{if(0===d.length)return;let e=new Float32Array(0);for(;e.length<t&&d.length;){let t=d.shift(),r=new Float32Array(e.length+t.length);r.set(e,0),r.set(t,e.length),e=r}if(e.length<t)return;let r=e.slice(0,t),o=function(e){let t=e.length,r=new ArrayBuffer(2*t),n=new DataView(r);for(let r=0;r<t;r++){let t=Math.max(-1,Math.min(1,e[r]));n.setInt16(2*r,t<0?32768*t:32767*t,!0)}return r}(r),i=function(e,t){let r=e.byteLength,n=new ArrayBuffer(44+r),o=new DataView(n),a=(e,t)=>{for(let r=0;r<t.length;r++)o.setUint8(e+r,t.charCodeAt(r))};return a(0,"RIFF"),o.setUint32(4,36+r,!0),a(8,"WAVE"),a(12,"fmt "),o.setUint32(16,16,!0),o.setUint16(20,1,!0),o.setUint16(22,1,!0),o.setUint32(24,t,!0),o.setUint32(28,2*t,!0),o.setUint16(32,2,!0),o.setUint16(34,16,!0),a(36,"data"),o.setUint32(40,r,!0),new Uint8Array(n).set(new Uint8Array(e),44),n}(o,n),l=await a({pcm:o,wav:i});h(l)},r),i=!0}catch(e){console.error("[artplayerPluginAsr] Initialization failed:",e),await P()}}async function P(){i&&(i=!1,clearInterval(p),p=null,s&&(s.disconnect(),s.port.onmessage=null,s=null),c&&(c.disconnect(),c=null),d=[])}async function j(){await P(),b&&(b.disconnect(),b=null),u&&(u.disconnect(),u=null),m&&(m.getTracks().forEach(e=>e.stop()),m=null),l&&(await l.close(),l=null),f=!1}return e.on("video:volumechange",()=>{c&&(c.gain.value=e.volume)}),e.on("play",M),e.on("pause",P),e.on("destroy",j),{name:"artplayerPluginAsr",stop:j,hide:v,append:h}}}if("undefined"!=typeof document&&!document.getElementById("artplayer-plugin-asr")){let
Line truncated
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,n,o,i,a,u){var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof c[n]&&c[n],l=s.i||{},f=s.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,r){if(!f[t]){if(!e[t]){if(o[t])return o[t];var i="function"==typeof c[n]&&c[n];if(!r&&i)return i(t,!0);if(s)return s(t,!0);if(p&&"string"==typeof t)return p(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}l.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},l.cache={};var u=f[t]=new d.Module(t);e[t][0].call(u.exports,l,u,u.exports,c)}return f[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.require=p,this.exports={}},d.modules=e,d.cache=f,d.parent=s,d.distDir=void 0,d.publicUrl=void 0,d.devServer=void 0,d.i=l,d.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(d,"root",{get:function(){return c[n]}}),c[n]=d;for(var y=0;y<t.length;y++)d(t[y]);if(r){var h=d(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({bzF6W:[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",function(){return s});var i=e("@swc/helpers/cjs/_async_to_generator.cjs"),a=e("@swc/helpers/cjs/_ts_generator.cjs"),u=e("bundle-text:./style.less"),c=o.interopDefault(u);function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.length,r=void 0===t?3:t,n=e.interval,o=void 0===n?100:n,u=e.sampleRate,c=void 0===u?16e3:u,s=e.autoHideTimeout,l=void 0===s?1e4:s,f=e.onAudioChunk,p=void 0===f?function(){return null}:f;return function(e){var t=!1,n=null,u=null,s=null,f=null,d=[],y=null,h=!1,_=null,v=null,b=null,m=e.layers.add({name:"asr",html:""});function w(){m.style.display="none"}function g(e){"string"==typeof e&&(clearTimeout(_),_=setTimeout(w,l),m.style.display="",m.innerHTML=e.split(RegExp("(?<=[、。!?!?\\.])\\s*","u")).map(function(e){return e.trim()}).filter(Boolean).slice(-r).map(function(e){return'<div class="art-asr-line">'.concat(e,"</div>")}).join(""))}var x=function(){var e=new Blob(["\n class RecorderProcessor extends AudioWorkletProcessor {\n process(inputs) {\n const input = inputs[0];\n if (input && input[0]) {\n this.port.postMessage(input[0]);\n }\n return true;\n }\n }\n registerProcessor('recorder-processor', RecorderProcessor);\n "],{type:"application/javascript"});return URL.createObjectURL(e)};function j(){return(j=(0,i._)(function(){return(0,a._)(this,function(e){switch(e.label){case 0:if(n)return[2,n];if("suspended"!==(n=new(window.AudioContext||window.webkitAudioContext)({sampleRate:c})).state)return[3,2];return[4,n.resume()];case 1:e.sent(),e.label=2;case 2:return[2,n]}})})).apply(this,arguments)}function O(){return(O=(0,i._)(function(){return(0,a._)(this,function(t){switch(t.label){case 0:if(!u&&e.video)try{return u=n.createMediaElementSource(e.video),[2,u]}catch(e){console.warn("[artplayerPluginAsr] Direct connection failed:",e)}t.label=1;case 1:if(t.trys.push([1,4,,5]),v)return[3,3];return[4,function(e){return P.apply(this,arguments)}(e.video)];case 2:v=t.sent(),t.label=3;case 3:if(v)return[2,b=n.createMediaStreamSource(v)];return[3,5];case 4:return console.warn("[artplayerPluginAsr] MediaStream fallback failed:",t.sent()),[3,5];case 5:return[2,null]}})})).apply(this,arguments)}function P(){return(P=(0,i._)(function(e){return(0,a._)(this,function(t){try{if(e.captureStream)return[2,e.captureStream()];if(e.mozCaptureStream)return[2,e.mozCaptureStream()];return console.warn("[artplayerPluginAsr] captureStream not supported"),[2,null]}catch(e){return console.warn("[artplayerPluginAsr] Error capturing stream:",e),[2,null]}})})).apply(this,arguments)}function S(){return(S=(0,i._)(function(){var e,r,u;return(0,a._)(this,function(l){switch(l.label){case 0:if(t)return[2];l.label=1;case 1:return l.trys.push([1,6,,8]),[4,function(){return j.apply(this,arguments)}()];case 2:return l.sent(),[4,function(){return O.apply(this,arguments)}()];case 3:if(!(e=l.sent()))throw Error("Could not establish audio source");if(h)return[3,5];return r=x(),[4,n.audioWorklet.addModule(r)];case 4:l.sent(),URL.revokeObjectURL(r),h=!0,l.label=5;case 5:return(f=n.createGain()).gain.value=1,(s=new AudioWorkletNode(n,"recorder-processor")).port.onmessage=function(e){d.push(new Float32Array(e.data))},e.connect(s),e.connect(f),f.connect(n.destination),u=o/1e3*c,y=setInterval((0,i._)(function(){var e,t,r,n;return(0,a._)(this,function(o){switch(o.label){case 0:var i,a,s,l,f;if(0===d.length)return[2];for(e=new Float32Array(0);e.length<u&&d.length;)t=d.shift(),(r=new Float32Array(e.length+t.length)).set(e,0),r.set(t,e.length),e=r;if(e.length<u)return[2];return i=n=function(e){for(var t=e.length,rLine truncated
|
||||
!function(e,t,r,n,o,i,a,u){var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof c[n]&&c[n],l=s.i||{},f=s.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,r){if(!f[t]){if(!e[t]){if(o[t])return o[t];var i="function"==typeof c[n]&&c[n];if(!r&&i)return i(t,!0);if(s)return s(t,!0);if(p&&"string"==typeof t)return p(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}l.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},l.cache={};var u=f[t]=new d.Module(t);e[t][0].call(u.exports,l,u,u.exports,c)}return f[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.require=p,this.exports={}},d.modules=e,d.cache=f,d.parent=s,d.distDir=void 0,d.publicUrl=void 0,d.devServer=void 0,d.i=l,d.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(d,"root",{get:function(){return c[n]}}),c[n]=d;for(var y=0;y<t.length;y++)d(t[y]);if(r){var _=d(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=_:"function"==typeof define&&define.amd&&define(function(){return _})}}({"98QZN":[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",function(){return s});var i=e("@swc/helpers/cjs/_async_to_generator.cjs"),a=e("@swc/helpers/cjs/_ts_generator.cjs"),u=e("bundle-text:./style.less"),c=o.interopDefault(u);function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.length,r=void 0===t?3:t,n=e.interval,o=void 0===n?100:n,u=e.sampleRate,c=void 0===u?16e3:u,s=e.autoHideTimeout,l=void 0===s?1e4:s,f=e.onAudioChunk,p=void 0===f?function(){return null}:f;return function(e){var t=!1,n=null,u=null,s=null,f=null,d=[],y=null,_=!1,h=null,v=null,b=null,m=e.layers.add({name:"asr",html:""});function w(){m.style.display="none"}function g(e){"string"==typeof e&&(clearTimeout(h),h=setTimeout(w,l),m.style.display="",m.innerHTML=e.split(RegExp("(?<=[、。!?!?.])\\s*","u")).map(function(e){return e.trim()}).filter(Boolean).slice(-r).map(function(e){return'<div class="art-asr-line">'.concat(e,"</div>")}).join(""))}var x=function(){var e=new Blob(["\n class RecorderProcessor extends AudioWorkletProcessor {\n process(inputs) {\n const input = inputs[0];\n if (input && input[0]) {\n this.port.postMessage(input[0]);\n }\n return true;\n }\n }\n registerProcessor('recorder-processor', RecorderProcessor);\n "],{type:"application/javascript"});return URL.createObjectURL(e)};function j(){return(0,i._)(function(){return(0,a._)(this,function(e){return t&&(t=!1,clearInterval(y),y=null,s&&(s.disconnect(),s.port.onmessage=null,s=null),f&&(f.disconnect(),f=null),d=[]),[2]})})()}function O(){return(0,i._)(function(){return(0,a._)(this,function(e){switch(e.label){case 0:return[4,j()];case 1:if(e.sent(),b&&(b.disconnect(),b=null),u&&(u.disconnect(),u=null),v&&(v.getTracks().forEach(function(e){return e.stop()}),v=null),!n)return[3,3];return[4,n.close()];case 2:e.sent(),n=null,e.label=3;case 3:return _=!1,[2]}})})()}return e.on("video:volumechange",function(){f&&(f.gain.value=e.volume)}),e.on("play",function(){return(0,i._)(function(){var r,l,h;return(0,a._)(this,function(m){switch(m.label){case 0:if(t)return[2];m.label=1;case 1:return m.trys.push([1,6,,8]),[4,(0,i._)(function(){return(0,a._)(this,function(e){switch(e.label){case 0:if(n)return[2,n];if("suspended"!==(n=new(window.AudioContext||window.webkitAudioContext)({sampleRate:c})).state)return[3,2];return[4,n.resume()];case 1:e.sent(),e.label=2;case 2:return[2,n]}})})()];case 2:return m.sent(),[4,(0,i._)(function(){return(0,a._)(this,function(t){switch(t.label){case 0:if(!u&&e.video)try{return u=n.createMediaElementSource(e.video),[2,u]}catch(e){console.warn("[artplayerPluginAsr] Direct connection failed:",e)}t.label=1;case 1:var r;if(t.trys.push([1,4,,5]),v)return[3,3];return[4,(r=e.video,(0,i._)(function(){return(0,a._)(this,function(e){try{if(r.captureStream)return[2,r.captureStream()];if(r.mozCaptureStream)return[2,r.mozCaptureStream()];return console.warn("[artplayerPluginAsr] captureStream not supported"),[2,null]}catch(e){return console.warn("[artplayerPluginAsr] Error capturing stream:",e),[2,null]}})})())];case 2:v=t.sent(),t.label=3;case 3:if(v)return[2,b=n.createMediaStreamSource(v)];return[3,5];case 4:return console.warn("[artplayerPluginAsr] MediaStream fallback failed:",t.sent()),[3,5];case 5:return[2,null]}})})()];case 3:if(!(r=m.sent()))throw Error("Could not establish audio source");if(_)return[3,5];return l=x(),[4,n.audioWorklet.addModule(l)];case 4:m.sent(),URL.revokeObjectURL(l),_=!0,m.label=5;case 5:return(f=n.createGain()).gain.value=1,(s=new AudioWorkletNode(n,"recorder-processor")).port.onmessage=function(e){d.push(new Float32Array(e.data))},r.connect(s),r.connect(f),f.conLine truncated
|
||||
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"license": "MIT",
|
||||
"version": "2.0.0",
|
||||
"name": "artplayer-plugin-asr",
|
||||
"description": "Asr plugin for ArtPlayer",
|
||||
"main": "dist/artplayer-plugin-asr.js",
|
||||
"legacy": "dist/artplayer-plugin-asr.legacy.js",
|
||||
"module": "dist/artplayer-plugin-asr.esm.js",
|
||||
"types": "types/artplayer-plugin-asr.d.ts",
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-asr.esm.js",
|
||||
"require": "./dist/artplayer-plugin-asr.js",
|
||||
"default": "./dist/artplayer-plugin-asr.js"
|
||||
},
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
]
|
||||
"name": "artplayer-plugin-asr",
|
||||
"version": "2.0.0",
|
||||
"description": "Asr plugin for ArtPlayer",
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"license": "MIT",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-asr.esm.js",
|
||||
"require": "./dist/artplayer-plugin-asr.js",
|
||||
"default": "./dist/artplayer-plugin-asr.js"
|
||||
},
|
||||
"main": "dist/artplayer-plugin-asr.js",
|
||||
"legacy": "dist/artplayer-plugin-asr.legacy.js",
|
||||
"module": "dist/artplayer-plugin-asr.esm.js",
|
||||
"types": "types/artplayer-plugin-asr.d.ts",
|
||||
"browserslist": "last 1 Chrome version"
|
||||
}
|
||||
@@ -1,58 +1,59 @@
|
||||
import style from 'bundle-text:./style.less';
|
||||
import style from 'bundle-text:./style.less'
|
||||
|
||||
export default function artplayerPluginAsr(option = {}) {
|
||||
const {
|
||||
length = 3,
|
||||
interval = 100,
|
||||
sampleRate = 16000,
|
||||
autoHideTimeout = 10000,
|
||||
onAudioChunk = () => null,
|
||||
} = option;
|
||||
const {
|
||||
length = 3,
|
||||
interval = 100,
|
||||
sampleRate = 16000,
|
||||
autoHideTimeout = 10000,
|
||||
onAudioChunk = () => null,
|
||||
} = option
|
||||
|
||||
return (art) => {
|
||||
let started = false;
|
||||
let audioCtx = null;
|
||||
let sourceNode = null;
|
||||
let recorderNode = null;
|
||||
let gainNode = null;
|
||||
let bufferChunks = [];
|
||||
let timer = null;
|
||||
let workletLoaded = false;
|
||||
let hideTimer = null;
|
||||
let mediaStream = null;
|
||||
let mediaStreamSource = null;
|
||||
return (art) => {
|
||||
let started = false
|
||||
let audioCtx = null
|
||||
let sourceNode = null
|
||||
let recorderNode = null
|
||||
let gainNode = null
|
||||
let bufferChunks = []
|
||||
let timer = null
|
||||
let workletLoaded = false
|
||||
let hideTimer = null
|
||||
let mediaStream = null
|
||||
let mediaStreamSource = null
|
||||
|
||||
const $asr = art.layers.add({
|
||||
name: 'asr',
|
||||
html: '',
|
||||
});
|
||||
const $asr = art.layers.add({
|
||||
name: 'asr',
|
||||
html: '',
|
||||
})
|
||||
|
||||
function splitByPunctuation(text) {
|
||||
return (
|
||||
text
|
||||
// eslint-disable-next-line no-useless-escape
|
||||
.split(/(?<=[、。!?!?\.])\s*/u)
|
||||
.map((s) => s.trim())
|
||||
.filter(Boolean)
|
||||
.slice(-length)
|
||||
);
|
||||
}
|
||||
function splitByPunctuation(text) {
|
||||
return (
|
||||
text
|
||||
|
||||
function hide() {
|
||||
$asr.style.display = 'none';
|
||||
}
|
||||
.split(/(?<=[、。!?!?.])\s*/u)
|
||||
.map(s => s.trim())
|
||||
.filter(Boolean)
|
||||
.slice(-length)
|
||||
)
|
||||
}
|
||||
|
||||
function append(subtitle) {
|
||||
if (typeof subtitle !== 'string') return;
|
||||
clearTimeout(hideTimer);
|
||||
hideTimer = setTimeout(hide, autoHideTimeout);
|
||||
$asr.style.display = '';
|
||||
$asr.innerHTML = splitByPunctuation(subtitle)
|
||||
.map((line) => `<div class="art-asr-line">${line}</div>`)
|
||||
.join('');
|
||||
}
|
||||
function hide() {
|
||||
$asr.style.display = 'none'
|
||||
}
|
||||
|
||||
const recorderProcessorCode = `
|
||||
function append(subtitle) {
|
||||
if (typeof subtitle !== 'string')
|
||||
return
|
||||
clearTimeout(hideTimer)
|
||||
hideTimer = setTimeout(hide, autoHideTimeout)
|
||||
$asr.style.display = ''
|
||||
$asr.innerHTML = splitByPunctuation(subtitle)
|
||||
.map(line => `<div class="art-asr-line">${line}</div>`)
|
||||
.join('')
|
||||
}
|
||||
|
||||
const recorderProcessorCode = `
|
||||
class RecorderProcessor extends AudioWorkletProcessor {
|
||||
process(inputs) {
|
||||
const input = inputs[0];
|
||||
@@ -63,227 +64,240 @@ export default function artplayerPluginAsr(option = {}) {
|
||||
}
|
||||
}
|
||||
registerProcessor('recorder-processor', RecorderProcessor);
|
||||
`;
|
||||
`
|
||||
|
||||
const createWorkletBlobUrl = () => {
|
||||
const blob = new Blob([recorderProcessorCode], { type: 'application/javascript' });
|
||||
return URL.createObjectURL(blob);
|
||||
};
|
||||
const createWorkletBlobUrl = () => {
|
||||
const blob = new Blob([recorderProcessorCode], { type: 'application/javascript' })
|
||||
return URL.createObjectURL(blob)
|
||||
}
|
||||
|
||||
function floatTo16BitPCM(float32Array) {
|
||||
const len = float32Array.length;
|
||||
const buffer = new ArrayBuffer(len * 2);
|
||||
const view = new DataView(buffer);
|
||||
for (let i = 0; i < len; i++) {
|
||||
let s = Math.max(-1, Math.min(1, float32Array[i]));
|
||||
view.setInt16(i * 2, s < 0 ? s * 0x8000 : s * 0x7fff, true);
|
||||
}
|
||||
return buffer;
|
||||
function floatTo16BitPCM(float32Array) {
|
||||
const len = float32Array.length
|
||||
const buffer = new ArrayBuffer(len * 2)
|
||||
const view = new DataView(buffer)
|
||||
for (let i = 0; i < len; i++) {
|
||||
const s = Math.max(-1, Math.min(1, float32Array[i]))
|
||||
view.setInt16(i * 2, s < 0 ? s * 0x8000 : s * 0x7FFF, true)
|
||||
}
|
||||
return buffer
|
||||
}
|
||||
|
||||
function pcmToWav(pcmBuffer, sampleRate) {
|
||||
const pcmLength = pcmBuffer.byteLength
|
||||
const wavBuffer = new ArrayBuffer(44 + pcmLength)
|
||||
const view = new DataView(wavBuffer)
|
||||
|
||||
const writeString = (offset, str) => {
|
||||
for (let i = 0; i < str.length; i++) {
|
||||
view.setUint8(offset + i, str.charCodeAt(i))
|
||||
}
|
||||
}
|
||||
|
||||
writeString(0, 'RIFF')
|
||||
view.setUint32(4, 36 + pcmLength, true)
|
||||
writeString(8, 'WAVE')
|
||||
writeString(12, 'fmt ')
|
||||
view.setUint32(16, 16, true)
|
||||
view.setUint16(20, 1, true)
|
||||
view.setUint16(22, 1, true)
|
||||
view.setUint32(24, sampleRate, true)
|
||||
view.setUint32(28, sampleRate * 2, true)
|
||||
view.setUint16(32, 2, true)
|
||||
view.setUint16(34, 16, true)
|
||||
writeString(36, 'data')
|
||||
view.setUint32(40, pcmLength, true)
|
||||
|
||||
new Uint8Array(wavBuffer).set(new Uint8Array(pcmBuffer), 44)
|
||||
|
||||
return wavBuffer
|
||||
}
|
||||
|
||||
async function setupAudioContext() {
|
||||
if (audioCtx)
|
||||
return audioCtx
|
||||
audioCtx = new (window.AudioContext || window.webkitAudioContext)({ sampleRate })
|
||||
if (audioCtx.state === 'suspended')
|
||||
await audioCtx.resume()
|
||||
return audioCtx
|
||||
}
|
||||
|
||||
async function setupAudioSource() {
|
||||
if (!sourceNode && art.video) {
|
||||
try {
|
||||
sourceNode = audioCtx.createMediaElementSource(art.video)
|
||||
return sourceNode
|
||||
}
|
||||
catch (err) {
|
||||
console.warn('[artplayerPluginAsr] Direct connection failed:', err)
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
if (!mediaStream) {
|
||||
mediaStream = await captureAudioFromVideo(art.video)
|
||||
}
|
||||
if (mediaStream) {
|
||||
mediaStreamSource = audioCtx.createMediaStreamSource(mediaStream)
|
||||
return mediaStreamSource
|
||||
}
|
||||
}
|
||||
catch (err) {
|
||||
console.warn('[artplayerPluginAsr] MediaStream fallback failed:', err)
|
||||
}
|
||||
|
||||
return null
|
||||
}
|
||||
|
||||
async function captureAudioFromVideo(videoElement) {
|
||||
try {
|
||||
if (videoElement.captureStream)
|
||||
return videoElement.captureStream()
|
||||
if (videoElement.mozCaptureStream)
|
||||
return videoElement.mozCaptureStream()
|
||||
console.warn('[artplayerPluginAsr] captureStream not supported')
|
||||
return null
|
||||
}
|
||||
catch (err) {
|
||||
console.warn('[artplayerPluginAsr] Error capturing stream:', err)
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
async function startCapture() {
|
||||
if (started)
|
||||
return
|
||||
|
||||
try {
|
||||
await setupAudioContext()
|
||||
const audioSource = await setupAudioSource()
|
||||
if (!audioSource)
|
||||
throw new Error('Could not establish audio source')
|
||||
|
||||
if (!workletLoaded) {
|
||||
const blobUrl = createWorkletBlobUrl()
|
||||
await audioCtx.audioWorklet.addModule(blobUrl)
|
||||
URL.revokeObjectURL(blobUrl)
|
||||
workletLoaded = true
|
||||
}
|
||||
|
||||
function pcmToWav(pcmBuffer, sampleRate) {
|
||||
const pcmLength = pcmBuffer.byteLength;
|
||||
const wavBuffer = new ArrayBuffer(44 + pcmLength);
|
||||
const view = new DataView(wavBuffer);
|
||||
|
||||
const writeString = (offset, str) => {
|
||||
for (let i = 0; i < str.length; i++) {
|
||||
view.setUint8(offset + i, str.charCodeAt(i));
|
||||
}
|
||||
};
|
||||
|
||||
writeString(0, 'RIFF');
|
||||
view.setUint32(4, 36 + pcmLength, true);
|
||||
writeString(8, 'WAVE');
|
||||
writeString(12, 'fmt ');
|
||||
view.setUint32(16, 16, true);
|
||||
view.setUint16(20, 1, true);
|
||||
view.setUint16(22, 1, true);
|
||||
view.setUint32(24, sampleRate, true);
|
||||
view.setUint32(28, sampleRate * 2, true);
|
||||
view.setUint16(32, 2, true);
|
||||
view.setUint16(34, 16, true);
|
||||
writeString(36, 'data');
|
||||
view.setUint32(40, pcmLength, true);
|
||||
|
||||
new Uint8Array(wavBuffer).set(new Uint8Array(pcmBuffer), 44);
|
||||
|
||||
return wavBuffer;
|
||||
gainNode = audioCtx.createGain()
|
||||
gainNode.gain.value = 1
|
||||
recorderNode = new AudioWorkletNode(audioCtx, 'recorder-processor')
|
||||
recorderNode.port.onmessage = (event) => {
|
||||
bufferChunks.push(new Float32Array(event.data))
|
||||
}
|
||||
audioSource.connect(recorderNode)
|
||||
audioSource.connect(gainNode)
|
||||
gainNode.connect(audioCtx.destination)
|
||||
|
||||
async function setupAudioContext() {
|
||||
if (audioCtx) return audioCtx;
|
||||
audioCtx = new (window.AudioContext || window.webkitAudioContext)({ sampleRate });
|
||||
if (audioCtx.state === 'suspended') await audioCtx.resume();
|
||||
return audioCtx;
|
||||
}
|
||||
const CHUNK_SAMPLES = sampleRate * (interval / 1000)
|
||||
timer = setInterval(async () => {
|
||||
if (bufferChunks.length === 0)
|
||||
return
|
||||
|
||||
async function setupAudioSource() {
|
||||
if (!sourceNode && art.video) {
|
||||
try {
|
||||
sourceNode = audioCtx.createMediaElementSource(art.video);
|
||||
return sourceNode;
|
||||
} catch (err) {
|
||||
console.warn('[artplayerPluginAsr] Direct connection failed:', err);
|
||||
}
|
||||
}
|
||||
let accumulated = new Float32Array(0)
|
||||
while (accumulated.length < CHUNK_SAMPLES && bufferChunks.length) {
|
||||
const next = bufferChunks.shift()
|
||||
const tmp = new Float32Array(accumulated.length + next.length)
|
||||
tmp.set(accumulated, 0)
|
||||
tmp.set(next, accumulated.length)
|
||||
accumulated = tmp
|
||||
}
|
||||
|
||||
try {
|
||||
if (!mediaStream) {
|
||||
mediaStream = await captureAudioFromVideo(art.video);
|
||||
}
|
||||
if (mediaStream) {
|
||||
mediaStreamSource = audioCtx.createMediaStreamSource(mediaStream);
|
||||
return mediaStreamSource;
|
||||
}
|
||||
} catch (err) {
|
||||
console.warn('[artplayerPluginAsr] MediaStream fallback failed:', err);
|
||||
}
|
||||
if (accumulated.length < CHUNK_SAMPLES)
|
||||
return
|
||||
|
||||
return null;
|
||||
}
|
||||
const chunkToSend = accumulated.slice(0, CHUNK_SAMPLES)
|
||||
const pcm = floatTo16BitPCM(chunkToSend)
|
||||
const wav = pcmToWav(pcm, sampleRate)
|
||||
const subtitle = await onAudioChunk({ pcm, wav })
|
||||
append(subtitle)
|
||||
}, interval)
|
||||
|
||||
async function captureAudioFromVideo(videoElement) {
|
||||
try {
|
||||
if (videoElement.captureStream) return videoElement.captureStream();
|
||||
if (videoElement.mozCaptureStream) return videoElement.mozCaptureStream();
|
||||
console.warn('[artplayerPluginAsr] captureStream not supported');
|
||||
return null;
|
||||
} catch (err) {
|
||||
console.warn('[artplayerPluginAsr] Error capturing stream:', err);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
started = true
|
||||
}
|
||||
catch (err) {
|
||||
console.error('[artplayerPluginAsr] Initialization failed:', err)
|
||||
await stopCapture()
|
||||
}
|
||||
}
|
||||
|
||||
async function startCapture() {
|
||||
if (started) return;
|
||||
async function stopCapture() {
|
||||
if (!started)
|
||||
return
|
||||
started = false
|
||||
|
||||
try {
|
||||
await setupAudioContext();
|
||||
const audioSource = await setupAudioSource();
|
||||
if (!audioSource) throw new Error('Could not establish audio source');
|
||||
clearInterval(timer)
|
||||
timer = null
|
||||
|
||||
if (!workletLoaded) {
|
||||
const blobUrl = createWorkletBlobUrl();
|
||||
await audioCtx.audioWorklet.addModule(blobUrl);
|
||||
URL.revokeObjectURL(blobUrl);
|
||||
workletLoaded = true;
|
||||
}
|
||||
if (recorderNode) {
|
||||
recorderNode.disconnect()
|
||||
recorderNode.port.onmessage = null
|
||||
recorderNode = null
|
||||
}
|
||||
|
||||
gainNode = audioCtx.createGain();
|
||||
gainNode.gain.value = 1;
|
||||
recorderNode = new AudioWorkletNode(audioCtx, 'recorder-processor');
|
||||
recorderNode.port.onmessage = (event) => {
|
||||
bufferChunks.push(new Float32Array(event.data));
|
||||
};
|
||||
audioSource.connect(recorderNode);
|
||||
audioSource.connect(gainNode);
|
||||
gainNode.connect(audioCtx.destination);
|
||||
if (gainNode) {
|
||||
gainNode.disconnect()
|
||||
gainNode = null
|
||||
}
|
||||
|
||||
const CHUNK_SAMPLES = sampleRate * (interval / 1000);
|
||||
timer = setInterval(async () => {
|
||||
if (bufferChunks.length === 0) return;
|
||||
bufferChunks = []
|
||||
}
|
||||
|
||||
let accumulated = new Float32Array(0);
|
||||
while (accumulated.length < CHUNK_SAMPLES && bufferChunks.length) {
|
||||
const next = bufferChunks.shift();
|
||||
const tmp = new Float32Array(accumulated.length + next.length);
|
||||
tmp.set(accumulated, 0);
|
||||
tmp.set(next, accumulated.length);
|
||||
accumulated = tmp;
|
||||
}
|
||||
async function destroy() {
|
||||
await stopCapture()
|
||||
|
||||
if (accumulated.length < CHUNK_SAMPLES) return;
|
||||
if (mediaStreamSource) {
|
||||
mediaStreamSource.disconnect()
|
||||
mediaStreamSource = null
|
||||
}
|
||||
|
||||
const chunkToSend = accumulated.slice(0, CHUNK_SAMPLES);
|
||||
const pcm = floatTo16BitPCM(chunkToSend);
|
||||
const wav = pcmToWav(pcm, sampleRate);
|
||||
const subtitle = await onAudioChunk({ pcm, wav });
|
||||
append(subtitle);
|
||||
}, interval);
|
||||
if (sourceNode) {
|
||||
sourceNode.disconnect()
|
||||
sourceNode = null
|
||||
}
|
||||
|
||||
started = true;
|
||||
} catch (err) {
|
||||
console.error('[artplayerPluginAsr] Initialization failed:', err);
|
||||
await stopCapture();
|
||||
}
|
||||
}
|
||||
if (mediaStream) {
|
||||
mediaStream.getTracks().forEach(track => track.stop())
|
||||
mediaStream = null
|
||||
}
|
||||
|
||||
async function stopCapture() {
|
||||
if (!started) return;
|
||||
started = false;
|
||||
if (audioCtx) {
|
||||
await audioCtx.close()
|
||||
audioCtx = null
|
||||
}
|
||||
|
||||
clearInterval(timer);
|
||||
timer = null;
|
||||
workletLoaded = false
|
||||
}
|
||||
|
||||
if (recorderNode) {
|
||||
recorderNode.disconnect();
|
||||
recorderNode.port.onmessage = null;
|
||||
recorderNode = null;
|
||||
}
|
||||
art.on('video:volumechange', () => {
|
||||
if (gainNode) {
|
||||
gainNode.gain.value = art.volume
|
||||
}
|
||||
})
|
||||
|
||||
if (gainNode) {
|
||||
gainNode.disconnect();
|
||||
gainNode = null;
|
||||
}
|
||||
art.on('play', startCapture)
|
||||
art.on('pause', stopCapture)
|
||||
art.on('destroy', destroy)
|
||||
|
||||
bufferChunks = [];
|
||||
}
|
||||
|
||||
async function destroy() {
|
||||
await stopCapture();
|
||||
|
||||
if (mediaStreamSource) {
|
||||
mediaStreamSource.disconnect();
|
||||
mediaStreamSource = null;
|
||||
}
|
||||
|
||||
if (sourceNode) {
|
||||
sourceNode.disconnect();
|
||||
sourceNode = null;
|
||||
}
|
||||
|
||||
if (mediaStream) {
|
||||
mediaStream.getTracks().forEach((track) => track.stop());
|
||||
mediaStream = null;
|
||||
}
|
||||
|
||||
if (audioCtx) {
|
||||
await audioCtx.close();
|
||||
audioCtx = null;
|
||||
}
|
||||
|
||||
workletLoaded = false;
|
||||
}
|
||||
|
||||
art.on('video:volumechange', () => {
|
||||
if (gainNode) {
|
||||
gainNode.gain.value = art.volume;
|
||||
}
|
||||
});
|
||||
|
||||
art.on('play', startCapture);
|
||||
art.on('pause', stopCapture);
|
||||
art.on('destroy', destroy);
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginAsr',
|
||||
stop: destroy,
|
||||
hide,
|
||||
append,
|
||||
};
|
||||
};
|
||||
return {
|
||||
name: 'artplayerPluginAsr',
|
||||
stop: destroy,
|
||||
hide,
|
||||
append,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof document !== 'undefined') {
|
||||
if (!document.getElementById('artplayer-plugin-asr')) {
|
||||
const $style = document.createElement('style');
|
||||
$style.id = 'artplayer-plugin-asr';
|
||||
$style.textContent = style;
|
||||
document.head.appendChild($style);
|
||||
}
|
||||
if (!document.getElementById('artplayer-plugin-asr')) {
|
||||
const $style = document.createElement('style')
|
||||
$style.id = 'artplayer-plugin-asr'
|
||||
$style.textContent = style
|
||||
document.head.appendChild($style)
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window['artplayerPluginAsr'] = artplayerPluginAsr;
|
||||
window.artplayerPluginAsr = artplayerPluginAsr
|
||||
}
|
||||
+14
-14
@@ -1,26 +1,26 @@
|
||||
import type Artplayer from 'artplayer';
|
||||
import type Artplayer from 'artplayer'
|
||||
|
||||
export = artplayerPluginAsr;
|
||||
export = artplayerPluginAsr
|
||||
export as namespace artplayerPluginAsr;
|
||||
|
||||
interface AudioChunk {
|
||||
pcm: ArrayBuffer;
|
||||
wav: ArrayBuffer;
|
||||
pcm: ArrayBuffer
|
||||
wav: ArrayBuffer
|
||||
}
|
||||
|
||||
interface AsrPluginOption {
|
||||
length?: number;
|
||||
interval?: number;
|
||||
sampleRate?: number;
|
||||
autoHideTimeout?: number;
|
||||
onAudioChunk?: (chunk: AudioChunk) => void | Promise<void>;
|
||||
length?: number
|
||||
interval?: number
|
||||
sampleRate?: number
|
||||
autoHideTimeout?: number
|
||||
onAudioChunk?: (chunk: AudioChunk) => void | Promise<void>
|
||||
}
|
||||
|
||||
interface AsrPluginInstance {
|
||||
name: 'artplayerPluginAsr';
|
||||
stop: () => void;
|
||||
hide: () => void;
|
||||
append: (subtitle: string) => void;
|
||||
name: 'artplayerPluginAsr'
|
||||
stop: () => void
|
||||
hide: () => void
|
||||
append: (subtitle: string) => void
|
||||
}
|
||||
|
||||
declare function artplayerPluginAsr(option?: AsrPluginOption): (art: Artplayer) => AsrPluginInstance;
|
||||
declare function artplayerPluginAsr(option?: AsrPluginOption): (art: Artplayer) => AsrPluginInstance
|
||||
+1
-1
@@ -5,5 +5,5 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,n,o,r,i,u,l){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},f="function"==typeof d[o]&&d[o],a=f.i||{},c=f.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!c[t]){if(!e[t]){if(r[t])return r[t];var i="function"==typeof d[o]&&d[o];if(!n&&i)return i(t,!0);if(f)return f(t,!0);if(s&&"string"==typeof t)return s(t);var u=Error("Cannot find module '"+t+"'");throw u.code="MODULE_NOT_FOUND",u}a.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},a.cache={};var l=c[t]=new p.Module(t);e[t][0].call(l.exports,a,l,l.exports,d)}return c[t].exports;function a(e){var t=a.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=s,this.exports={}},p.modules=e,p.cache=c,p.parent=f,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=a,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return d[o]}}),d[o]=p;for(var m=0;m<t.length;m++)p(t[m]);if(n){var h=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({"4omrA":[function(e,t,n,o){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){return async t=>(t.on("video:loadedmetadata",()=>{let n=e.url||t.option.url,o=e.width||160,r=e.number||100,i=e.scale||1;!function({url:e,width:t,number:n},o){let r=document.createElement("video");r.crossOrigin="anonymous",r.src=e,r.onloadedmetadata=()=>{let e=r.duration,i=document.createElement("canvas"),u=i.getContext("2d"),l=Math.floor(t*r.videoHeight/r.videoWidth);i.width=10*t,i.height=l*Math.ceil(n/10);let d=0,f=null;!function a(c){i.toBlob(e=>{URL.revokeObjectURL(f),o({url:f=URL.createObjectURL(e),height:l})},"image/jpeg"),c>=n||(r.currentTime=e*c/n,r.onseeked=()=>{u.drawImage(r,c%10*t,Math.floor(c/10)*l,t,l),d++,a(c+1)})}(0)}}({url:n,width:o,number:r},e=>{t.thumbnails={...e,column:10,number:r,width:o,scale:i}})}),{name:"artplayerPluginAutoThumbnail"})}r.defineInteropFlag(n),r.export(n,"default",()=>i),"undefined"!=typeof window&&(window.artplayerPluginAutoThumbnail=i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"w4pLy"}],w4pLy:[function(e,t,n,o){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["4omrA"],"4omrA","parcelRequireb705",{});let{default:e}=parcelRequireb705("4omrA");export{e as default};
|
||||
!function(e,t,n,o,r,u,i,l){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},f="function"==typeof d[o]&&d[o],a=f.i||{},c=f.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!c[t]){if(!e[t]){if(r[t])return r[t];var u="function"==typeof d[o]&&d[o];if(!n&&u)return u(t,!0);if(f)return f(t,!0);if(s&&"string"==typeof t)return s(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}a.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},a.cache={};var l=c[t]=new p.Module(t);e[t][0].call(l.exports,a,l,l.exports,d)}return c[t].exports;function a(e){var t=a.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=s,this.exports={}},p.modules=e,p.cache=c,p.parent=f,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=a,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return d[o]}}),d[o]=p;for(var m=0;m<t.length;m++)p(t[m]);if(n){var h=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({guSFC:[function(e,t,n,o){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");function u(e){return async t=>(t.on("video:loadedmetadata",()=>{let n=e.url||t.option.url,o=e.width||160,r=e.number||100,u=e.scale||1;!function({url:e,width:t,number:n},o){let r=document.createElement("video");r.crossOrigin="anonymous",r.src=e,r.onloadedmetadata=()=>{let e=r.duration,u=document.createElement("canvas"),i=u.getContext("2d"),l=Math.floor(t*r.videoHeight/r.videoWidth);u.width=10*t,u.height=l*Math.ceil(n/10);let d=null;!function f(a){u.toBlob(e=>{URL.revokeObjectURL(d),o({url:d=URL.createObjectURL(e),height:l})},"image/jpeg"),a>=n||(r.currentTime=e*a/n,r.onseeked=()=>{i.drawImage(r,a%10*t,Math.floor(a/10)*l,t,l),f(a+1)})}(0)}}({url:n,width:o,number:r},e=>{t.thumbnails={...e,column:10,number:r,width:o,scale:u}})}),{name:"artplayerPluginAutoThumbnail"})}r.defineInteropFlag(n),r.export(n,"default",()=>u),"undefined"!=typeof window&&(window.artplayerPluginAutoThumbnail=u)},{"@parcel/transformer-js/src/esmodule-helpers.js":"5lQoW"}],"5lQoW":[function(e,t,n,o){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["guSFC"],"guSFC","parcelRequire4dc0",{});let{default:e}=parcelRequire4dc0("guSFC");export{e as default};
|
||||
//# sourceMappingURL=artplayer-plugin-auto-thumbnail.esm.js.map
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kDC0Ce,SAAS,EAA6B,CAAM,EACvD,OAAO,MAAO,IACV,EAAI,EAAE,CAAC,uBAAwB,KAC3B,IAAM,EAAM,EAAO,GAAG,EAAI,EAAI,MAAM,CAAC,GAAG,CAClC,EAAQ,EAAO,KAAK,EAAI,IACxB,EAAS,EAAO,MAAM,EAAI,IAC1B,EAAQ,EAAO,KAAK,EAAI,GAC9B,AAjDZ,SAAgB,CAAE,IAAA,CAAG,CAAE,MAAA,CAAK,CAAE,OAAA,CAAM,CAAE,CAAE,CAAQ,EAC5C,IAAM,EAAQ,SAAS,aAAa,CAAC,QACrC,CAAA,EAAM,WAAW,CAAG,YACpB,EAAM,GAAG,CAAG,EAEZ,EAAM,gBAAgB,CAAG,KACrB,IAAM,EAAW,EAAM,QAAQ,CACzB,EAAS,SAAS,aAAa,CAAC,UAChC,EAAM,EAAO,UAAU,CAAC,MACxB,EAAS,KAAK,KAAK,CAAE,EAAQ,EAAM,WAAW,CAAI,EAAM,UAAU,CAExE,CAAA,EAAO,KAAK,CAAG,AAAQ,GAAR,EACf,EAAO,MAAM,CAAG,EAAS,KAAK,IAAI,CAAC,EAAS,IAE5C,IAAI,EAAc,EACd,EAAU,MAuBd,AArBA,SAAS,EAAY,CAAK,EACtB,EAAO,MAAM,CAAC,AAAC,IACX,IAAI,eAAe,CAAC,GAGpB,EAAS,CACL,IAHJ,EAAU,IAAI,eAAe,CAAC,GAI1B,OAAQ,CACZ,EACJ,EAAG,cAEC,GAAS,IACb,EAAM,WAAW,CAAG,EAAY,EAAS,EAEzC,EAAM,QAAQ,CAAG,KACb,EAAI,SAAS,CAAC,EAAO,EAAS,GAAM,EAAO,KAAK,KAAK,CAAC,EAAQ,IAAM,EAAQ,EAAO,GACnF,IACA,EAAY,EAAQ,EACxB,EACJ,EAEY,EAChB,CACJ,EASmB,CAAE,IAAA,EAAK,MAAA,EAAO,OAAA,CAAO,EAAG,AAAC,IAC5B,EAAI,UAAU,CAAG,CACb,GAAG,CAAM,CACT,OAAQ,GACR,OAAA,EACA,MAAA,EACA,MAAA,CACJ,CACJ,EACJ,GAEO,CACH,KAAM,8BACV,EAER,C,E,iB,C,GAtBwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAwBpB,AAAkB,aAAlB,OAAO,QACP,CAAA,OAAO,4BAA+B,CAAG,CAD7C,C,E,C,iD,O,E,C,M,C,S,C,C,C,C,C,C,C,EClEA,EAAQ,cAAc,CAAG,SAAU,CAAC,EAClC,OAAO,GAAK,EAAE,UAAU,CAAG,EAAI,CAAC,QAAS,CAAC,CAC5C,EAEA,EAAQ,iBAAiB,CAAG,SAAU,CAAC,EACrC,OAAO,cAAc,CAAC,EAAG,aAAc,CAAC,MAAO,CAAA,CAAI,EACrD,EAEA,EAAQ,SAAS,CAAG,SAAU,CAAM,CAAE,CAAI,EAkBxC,OAjBA,OAAO,IAAI,CAAC,GAAQ,OAAO,CAAC,SAAU,CAAG,EAE7B,YAAR,GACA,AAAQ,eAAR,GACA,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAM,IAK7C,OAAO,cAAc,CAAC,EAAM,EAAK,CAC/B,WAAY,CAAA,EACZ,IAAK,WACH,OAAO,CAAM,CAAC,EAAI,AACpB,CACF,EACF,GAEO,CACT,EAEA,EAAQ,MAAM,CAAG,SAAU,CAAI,CAAE,CAAQ,CAAE,CAAG,EAC5C,OAAO,cAAc,CAAC,EAAM,EAAU,CACpC,WAAY,CAAA,EACZ,IAAK,CACP,EACF,C,E,C,E,E,C,Q,C,Q,oB,C,G,G,C,Q,C,C,C,kB,gB,K,O","sources":["<anon>","src/index.js","../../node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["// modules are defined as an array\n// [ module function, map of requires ]\n//\n// map of requires is short require name -> numeric require\n//\n// anything defined in a previous bundle is accessed via the\n// orig method which is the require for previous bundles\n\n(function (\n modules,\n entry,\n mainEntry,\n parcelRequireName,\n externals,\n distDir,\n publicUrl,\n devServer\n) {\n /* eslint-disable no-undef */\n var globalObject =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n /* eslint-enable no-undef */\n\n // Save the require from previous bundle to this closure if any\n var previousRequire =\n typeof globalObject[parcelRequireName] === 'function' &&\n globalObject[parcelRequireName];\n\n var importMap = previousRequire.i || {};\n var cache = previousRequire.cache || {};\n // Do not use `require` to prevent Webpack from trying to bundle this call\n var nodeRequire =\n typeof module !== 'undefined' &&\n typeof module.require === 'function' &&\n module.require.bind(module);\n\n function newRequire(name, jumped) {\n if (!cache[name]) {\n if (!modules[name]) {\n if (externals[name]) {\n return externals[name];\n }\n // if we cannot find the module within our internal map or\n // cache jump to the current global require ie. the last bundle\n // that was added to the page.\n var currentRequire =\n typeof globalObject[parcelRequireName] === 'function' &&\n globalObject[parcelRequireName];\n if (!jumped && currentRequire) {\n return currentRequire(name, true);\n }\n\n // If there are other bundles on this page the require from the\n // previous one is saved to 'previousRequire'. Repeat this as\n // many times as there are bundles until the module is found or\n // we exhaust the require chain.\n if (previousRequire) {\n return previousRequire(name, true);\n Line truncated
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,M,C,S,C,C,C,C,C,C,C,E,I,E,E,kDCyCe,SAAS,EAA6B,CAAM,EACzD,OAAO,MAAO,IACZ,EAAI,EAAE,CAAC,uBAAwB,KAC7B,IAAM,EAAM,EAAO,GAAG,EAAI,EAAI,MAAM,CAAC,GAAG,CAClC,EAAQ,EAAO,KAAK,EAAI,IACxB,EAAS,EAAO,MAAM,EAAI,IAC1B,EAAQ,EAAO,KAAK,EAAI,GAC9B,AAhDN,SAAgB,CAAE,IAAA,CAAG,CAAE,MAAA,CAAK,CAAE,OAAA,CAAM,CAAE,CAAE,CAAQ,EAC9C,IAAM,EAAQ,SAAS,aAAa,CAAC,QACrC,CAAA,EAAM,WAAW,CAAG,YACpB,EAAM,GAAG,CAAG,EAEZ,EAAM,gBAAgB,CAAG,KACvB,IAAM,EAAW,EAAM,QAAQ,CACzB,EAAS,SAAS,aAAa,CAAC,UAChC,EAAM,EAAO,UAAU,CAAC,MACxB,EAAS,KAAK,KAAK,CAAE,EAAQ,EAAM,WAAW,CAAI,EAAM,UAAU,CAExE,CAAA,EAAO,KAAK,CAAG,AAAQ,GAAR,EACf,EAAO,MAAM,CAAG,EAAS,KAAK,IAAI,CAAC,EAAS,IAE5C,IAAI,EAAU,MAuBd,AArBA,SAAS,EAAY,CAAK,EACxB,EAAO,MAAM,CAAC,AAAC,IACb,IAAI,eAAe,CAAC,GAGpB,EAAS,CACP,IAHF,EAAU,IAAI,eAAe,CAAC,GAI5B,OAAA,CACF,EACF,EAAG,cAEC,GAAS,IAEb,EAAM,WAAW,CAAG,EAAY,EAAS,EAEzC,EAAM,QAAQ,CAAG,KACf,EAAI,SAAS,CAAC,EAAO,EAAS,GAAM,EAAO,KAAK,KAAK,CAAC,EAAQ,IAAM,EAAQ,EAAO,GACnF,EAAY,EAAQ,EACtB,EACF,EAEY,EACd,CACF,EASa,CAAE,IAAA,EAAK,MAAA,EAAO,OAAA,CAAO,EAAG,AAAC,IAC9B,EAAI,UAAU,CAAG,CACf,GAAG,CAAM,CACT,OAAQ,GACR,OAAA,EACA,MAAA,EACA,MAAA,CACF,CACF,EACF,GAEO,CACL,KAAM,8BACR,EAEJ,C,E,iB,C,GAtBwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAwBpB,AAAkB,aAAlB,OAAO,QACT,CAAA,OAAO,4BAA4B,CAAG,CADxC,C,E,C,iD,O,E,C,Q,C,S,C,C,C,C,C,C,C,ECjEA,EAAQ,cAAc,CAAG,SAAU,CAAC,EAClC,OAAO,GAAK,EAAE,UAAU,CAAG,EAAI,CAAC,QAAS,CAAC,CAC5C,EAEA,EAAQ,iBAAiB,CAAG,SAAU,CAAC,EACrC,OAAO,cAAc,CAAC,EAAG,aAAc,CAAC,MAAO,CAAA,CAAI,EACrD,EAEA,EAAQ,SAAS,CAAG,SAAU,CAAM,CAAE,CAAI,EAkBxC,OAjBA,OAAO,IAAI,CAAC,GAAQ,OAAO,CAAC,SAAU,CAAG,EAE7B,YAAR,GACA,AAAQ,eAAR,GACA,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAM,IAK7C,OAAO,cAAc,CAAC,EAAM,EAAK,CAC/B,WAAY,CAAA,EACZ,IAAK,WACH,OAAO,CAAM,CAAC,EAAI,AACpB,CACF,EACF,GAEO,CACT,EAEA,EAAQ,MAAM,CAAG,SAAU,CAAI,CAAE,CAAQ,CAAE,CAAG,EAC5C,OAAO,cAAc,CAAC,EAAM,EAAU,CACpC,WAAY,CAAA,EACZ,IAAK,CACP,EACF,C,E,C,E,E,C,Q,C,Q,oB,C,G,G,C,Q,C,C,C,kB,gB,K,O","sources":["<anon>","packages/artplayer-plugin-auto-thumbnail/src/index.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["// modules are defined as an array\n// [ module function, map of requires ]\n//\n// map of requires is short require name -> numeric require\n//\n// anything defined in a previous bundle is accessed via the\n// orig method which is the require for previous bundles\n\n(function (\n modules,\n entry,\n mainEntry,\n parcelRequireName,\n externals,\n distDir,\n publicUrl,\n devServer\n) {\n /* eslint-disable no-undef */\n var globalObject =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n /* eslint-enable no-undef */\n\n // Save the require from previous bundle to this closure if any\n var previousRequire =\n typeof globalObject[parcelRequireName] === 'function' &&\n globalObject[parcelRequireName];\n\n var importMap = previousRequire.i || {};\n var cache = previousRequire.cache || {};\n // Do not use `require` to prevent Webpack from trying to bundle this call\n var nodeRequire =\n typeof module !== 'undefined' &&\n typeof module.require === 'function' &&\n module.require.bind(module);\n\n function newRequire(name, jumped) {\n if (!cache[name]) {\n if (!modules[name]) {\n if (externals[name]) {\n return externals[name];\n }\n // if we cannot find the module within our internal map or\n // cache jump to the current global require ie. the last bundle\n // that was added to the page.\n var currentRequire =\n typeof globalObject[parcelRequireName] === 'function' &&\n globalObject[parcelRequireName];\n if (!jumped && currentRequire) {\n return currentRequire(name, true);\n }\n\n // If there are other bundles on this page the require from the\n // previous one is saved to 'previousRequire'. Repeat this as\n // many times as there are bundles until the module is found or\n // we exhaust the require chain.\n if (previousRequire) {\n return previousRequiLine truncated
|
||||
+1
-1
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,n,o,r,i,u,l){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},f="function"==typeof d[o]&&d[o],a=f.i||{},c=f.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!c[t]){if(!e[t]){if(r[t])return r[t];var i="function"==typeof d[o]&&d[o];if(!n&&i)return i(t,!0);if(f)return f(t,!0);if(s&&"string"==typeof t)return s(t);var u=Error("Cannot find module '"+t+"'");throw u.code="MODULE_NOT_FOUND",u}a.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},a.cache={};var l=c[t]=new p.Module(t);e[t][0].call(l.exports,a,l,l.exports,d)}return c[t].exports;function a(e){var t=a.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=s,this.exports={}},p.modules=e,p.cache=c,p.parent=f,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=a,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return d[o]}}),d[o]=p;for(var m=0;m<t.length;m++)p(t[m]);if(n){var h=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({jz4E5:[function(e,t,n,o){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){return async t=>(t.on("video:loadedmetadata",()=>{let n=e.url||t.option.url,o=e.width||160,r=e.number||100,i=e.scale||1;!function({url:e,width:t,number:n},o){let r=document.createElement("video");r.crossOrigin="anonymous",r.src=e,r.onloadedmetadata=()=>{let e=r.duration,i=document.createElement("canvas"),u=i.getContext("2d"),l=Math.floor(t*r.videoHeight/r.videoWidth);i.width=10*t,i.height=l*Math.ceil(n/10);let d=0,f=null;!function a(c){i.toBlob(e=>{URL.revokeObjectURL(f),o({url:f=URL.createObjectURL(e),height:l})},"image/jpeg"),c>=n||(r.currentTime=e*c/n,r.onseeked=()=>{u.drawImage(r,c%10*t,Math.floor(c/10)*l,t,l),d++,a(c+1)})}(0)}}({url:n,width:o,number:r},e=>{t.thumbnails={...e,column:10,number:r,width:o,scale:i}})}),{name:"artplayerPluginAutoThumbnail"})}r.defineInteropFlag(n),r.export(n,"default",()=>i),"undefined"!=typeof window&&(window.artplayerPluginAutoThumbnail=i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"7o2zS"}],"7o2zS":[function(e,t,n,o){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["jz4E5"],"jz4E5","parcelRequireb705",{});
|
||||
!function(e,t,n,o,r,i,u,l){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},f="function"==typeof d[o]&&d[o],a=f.i||{},c=f.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!c[t]){if(!e[t]){if(r[t])return r[t];var i="function"==typeof d[o]&&d[o];if(!n&&i)return i(t,!0);if(f)return f(t,!0);if(s&&"string"==typeof t)return s(t);var u=Error("Cannot find module '"+t+"'");throw u.code="MODULE_NOT_FOUND",u}a.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},a.cache={};var l=c[t]=new p.Module(t);e[t][0].call(l.exports,a,l,l.exports,d)}return c[t].exports;function a(e){var t=a.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=s,this.exports={}},p.modules=e,p.cache=c,p.parent=f,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=a,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return d[o]}}),d[o]=p;for(var m=0;m<t.length;m++)p(t[m]);if(n){var h=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({"6MsoC":[function(e,t,n,o){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){return async t=>(t.on("video:loadedmetadata",()=>{let n=e.url||t.option.url,o=e.width||160,r=e.number||100,i=e.scale||1;!function({url:e,width:t,number:n},o){let r=document.createElement("video");r.crossOrigin="anonymous",r.src=e,r.onloadedmetadata=()=>{let e=r.duration,i=document.createElement("canvas"),u=i.getContext("2d"),l=Math.floor(t*r.videoHeight/r.videoWidth);i.width=10*t,i.height=l*Math.ceil(n/10);let d=null;!function f(a){i.toBlob(e=>{URL.revokeObjectURL(d),o({url:d=URL.createObjectURL(e),height:l})},"image/jpeg"),a>=n||(r.currentTime=e*a/n,r.onseeked=()=>{u.drawImage(r,a%10*t,Math.floor(a/10)*l,t,l),f(a+1)})}(0)}}({url:n,width:o,number:r},e=>{t.thumbnails={...e,column:10,number:r,width:o,scale:i}})}),{name:"artplayerPluginAutoThumbnail"})}r.defineInteropFlag(n),r.export(n,"default",()=>i),"undefined"!=typeof window&&(window.artplayerPluginAutoThumbnail=i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"6ykb1"}],"6ykb1":[function(e,t,n,o){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["6MsoC"],"6MsoC","parcelRequire4dc0",{});
|
||||
+1
-1
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,n,o,i,c,u){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof a[n]&&a[n],f=s.i||{},l=s.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,r){if(!l[t]){if(!e[t]){if(o[t])return o[t];var i="function"==typeof a[n]&&a[n];if(!r&&i)return i(t,!0);if(s)return s(t,!0);if(p&&"string"==typeof t)return p(t);var c=Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}f.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},f.cache={};var u=l[t]=new d.Module(t);e[t][0].call(u.exports,f,u,u.exports,a)}return l[t].exports;function f(e){var t=f.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.require=p,this.exports={}},d.modules=e,d.cache=l,d.parent=s,d.distDir=void 0,d.publicUrl=void 0,d.devServer=void 0,d.i=f,d.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(d,"root",{get:function(){return a[n]}}),a[n]=d;for(var y=0;y<t.length;y++)d(t[y]);if(r){var _=d(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=_:"function"==typeof define&&define.amd&&define(function(){return _})}}({bzF6W:[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",function(){return s});var i=e("@swc/helpers/cjs/_async_to_generator.cjs"),c=e("@swc/helpers/cjs/_object_spread.cjs"),u=e("@swc/helpers/cjs/_object_spread_props.cjs"),a=e("@swc/helpers/cjs/_ts_generator.cjs");function s(e){var t;return t=(0,i._)(function(t){return(0,a._)(this,function(r){return t.on("video:loadedmetadata",function(){var r,n,o,i,a,s,f=e.url||t.option.url,l=e.width||160,p=e.number||100,d=e.scale||1;r={url:f,width:l,number:p},n=function(e){t.thumbnails=(0,u._)((0,c._)({},e),{column:10,number:p,width:l,scale:d})},o=r.url,i=r.width,a=r.number,(s=document.createElement("video")).crossOrigin="anonymous",s.src=o,s.onloadedmetadata=function(){var e=s.duration,t=document.createElement("canvas"),r=t.getContext("2d"),o=Math.floor(i*s.videoHeight/s.videoWidth);t.width=10*i,t.height=o*Math.ceil(a/10);var c=0,u=null;!function f(l){t.toBlob(function(e){URL.revokeObjectURL(u),n({url:u=URL.createObjectURL(e),height:o})},"image/jpeg"),l>=a||(s.currentTime=e*l/a,s.onseeked=function(){r.drawImage(s,l%10*i,Math.floor(l/10)*o,i,o),c++,f(l+1)})}(0)}}),[2,{name:"artplayerPluginAutoThumbnail"}]})}),function(e){return t.apply(this,arguments)}}"undefined"!=typeof window&&(window.artplayerPluginAutoThumbnail=s)},{"@swc/helpers/cjs/_async_to_generator.cjs":"4ElRo","@swc/helpers/cjs/_object_spread.cjs":"7vaqr","@swc/helpers/cjs/_object_spread_props.cjs":"iJXke","@swc/helpers/cjs/_ts_generator.cjs":"a4h1C","@parcel/transformer-js/src/esmodule-helpers.js":"ihnSZ"}],"4ElRo":[function(e,t,r,n){"use strict";function o(e,t,r,n,o,i,c){try{var u=e[i](c),a=u.value}catch(e){r(e);return}u.done?t(a):Promise.resolve(a).then(n,o)}r._=function(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var c=e.apply(t,r);function u(e){o(c,n,i,u,a,"next",e)}function a(e){o(c,n,i,u,a,"throw",e)}u(void 0)})}}},{}],"7vaqr":[function(e,t,r,n){"use strict";var o=e("b3d0f206b721b857");r._=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){o._(e,t,r[t])})}return e}},{b3d0f206b721b857:"dgB2K"}],dgB2K:[function(e,t,r,n){"use strict";r._=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},{}],iJXke:[function(e,t,r,n){"use strict";r._=function(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}},{}],a4h1C:[function(e,t,r,n){"use strict";r._=e("3d8e14b4b7163380").__generator},{"3d8e14b4b7163380":"36MWs"}],"36MWs":[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"__extends",function(){return u}),o.export(r,"__assign",function(){return a}),o.export(r,"__rest",function(){return s}),o.export(r,"__decorate",function(){return f}),o.export(r,"__param",function(){return l}),o.export(r,"__esDecorate",function(){return p}),o.export(r,"__runInitializers",function(){return d}),o.export(r,"__propKey",function(){return y}),o.export(r,"__setFunctionName",function(){return _}),o.export(r,"__metadata",function(){return b}),o.export(r,"__awaiter",function(){return h}),o.exporLine truncated
|
||||
!function(e,t,r,n,o,i,c,u){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof a[n]&&a[n],f=s.i||{},l=s.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,r){if(!l[t]){if(!e[t]){if(o[t])return o[t];var i="function"==typeof a[n]&&a[n];if(!r&&i)return i(t,!0);if(s)return s(t,!0);if(p&&"string"==typeof t)return p(t);var c=Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}f.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},f.cache={};var u=l[t]=new d.Module(t);e[t][0].call(u.exports,f,u,u.exports,a)}return l[t].exports;function f(e){var t=f.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.require=p,this.exports={}},d.modules=e,d.cache=l,d.parent=s,d.distDir=void 0,d.publicUrl=void 0,d.devServer=void 0,d.i=f,d.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(d,"root",{get:function(){return a[n]}}),a[n]=d;for(var y=0;y<t.length;y++)d(t[y]);if(r){var _=d(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=_:"function"==typeof define&&define.amd&&define(function(){return _})}}({"9JZgh":[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",function(){return s});var i=e("@swc/helpers/cjs/_async_to_generator.cjs"),c=e("@swc/helpers/cjs/_object_spread.cjs"),u=e("@swc/helpers/cjs/_object_spread_props.cjs"),a=e("@swc/helpers/cjs/_ts_generator.cjs");function s(e){return function(t){return(0,i._)(function(){return(0,a._)(this,function(r){return t.on("video:loadedmetadata",function(){var r,n,o,i,a,s,f=e.url||t.option.url,l=e.width||160,p=e.number||100,d=e.scale||1;r={url:f,width:l,number:p},n=function(e){t.thumbnails=(0,u._)((0,c._)({},e),{column:10,number:p,width:l,scale:d})},o=r.url,i=r.width,a=r.number,(s=document.createElement("video")).crossOrigin="anonymous",s.src=o,s.onloadedmetadata=function(){var e=s.duration,t=document.createElement("canvas"),r=t.getContext("2d"),o=Math.floor(i*s.videoHeight/s.videoWidth);t.width=10*i,t.height=o*Math.ceil(a/10);var c=null;!function u(f){t.toBlob(function(e){URL.revokeObjectURL(c),n({url:c=URL.createObjectURL(e),height:o})},"image/jpeg"),f>=a||(s.currentTime=e*f/a,s.onseeked=function(){r.drawImage(s,f%10*i,Math.floor(f/10)*o,i,o),u(f+1)})}(0)}}),[2,{name:"artplayerPluginAutoThumbnail"}]})})()}}"undefined"!=typeof window&&(window.artplayerPluginAutoThumbnail=s)},{"@swc/helpers/cjs/_async_to_generator.cjs":"cZn0e","@swc/helpers/cjs/_object_spread.cjs":"kyoEj","@swc/helpers/cjs/_object_spread_props.cjs":"3G1wX","@swc/helpers/cjs/_ts_generator.cjs":"eltGh","@parcel/transformer-js/src/esmodule-helpers.js":"qpMMf"}],cZn0e:[function(e,t,r,n){"use strict";function o(e,t,r,n,o,i,c){try{var u=e[i](c),a=u.value}catch(e){r(e);return}u.done?t(a):Promise.resolve(a).then(n,o)}r._=function(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var c=e.apply(t,r);function u(e){o(c,n,i,u,a,"next",e)}function a(e){o(c,n,i,u,a,"throw",e)}u(void 0)})}}},{}],kyoEj:[function(e,t,r,n){"use strict";var o=e("9f9b8a24218ee51e");r._=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){o._(e,t,r[t])})}return e}},{"9f9b8a24218ee51e":"ltU3W"}],ltU3W:[function(e,t,r,n){"use strict";r._=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},{}],"3G1wX":[function(e,t,r,n){"use strict";r._=function(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}},{}],eltGh:[function(e,t,r,n){"use strict";r._=e("eb260df52bffddd").__generator},{eb260df52bffddd:"6yrAu"}],"6yrAu":[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"__extends",function(){return u}),o.export(r,"__assign",function(){return a}),o.export(r,"__rest",function(){return s}),o.export(r,"__decorate",function(){return f}),o.export(r,"__param",function(){return l}),o.export(r,"__esDecorate",function(){return p}),o.export(r,"__runInitializers",function(){return d}),o.export(r,"__propKey",function(){return y}),o.export(r,"__setFunctionName",function(){return _}),o.export(r,"__metadata",function(){return h}),o.export(r,"__awaiter",function(){return b}),o.export(r,"__generator",function(){return v}),o.Line truncated
|
||||
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"license": "MIT",
|
||||
"version": "1.0.1",
|
||||
"name": "artplayer-plugin-auto-thumbnail",
|
||||
"description": "auto-thumbnail plugin for ArtPlayer",
|
||||
"main": "dist/artplayer-plugin-auto-thumbnail.js",
|
||||
"legacy": "dist/artplayer-plugin-auto-thumbnail.legacy.js",
|
||||
"module": "dist/artplayer-plugin-auto-thumbnail.esm.js",
|
||||
"types": "types/artplayer-plugin-auto-thumbnail.d.ts",
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-auto-thumbnail.esm.js",
|
||||
"require": "./dist/artplayer-plugin-auto-thumbnail.js",
|
||||
"default": "./dist/artplayer-plugin-auto-thumbnail.js"
|
||||
},
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
]
|
||||
"name": "artplayer-plugin-auto-thumbnail",
|
||||
"version": "1.0.1",
|
||||
"description": "auto-thumbnail plugin for ArtPlayer",
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"license": "MIT",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-auto-thumbnail.esm.js",
|
||||
"require": "./dist/artplayer-plugin-auto-thumbnail.js",
|
||||
"default": "./dist/artplayer-plugin-auto-thumbnail.js"
|
||||
},
|
||||
"main": "dist/artplayer-plugin-auto-thumbnail.js",
|
||||
"legacy": "dist/artplayer-plugin-auto-thumbnail.legacy.js",
|
||||
"module": "dist/artplayer-plugin-auto-thumbnail.esm.js",
|
||||
"types": "types/artplayer-plugin-auto-thumbnail.d.ts",
|
||||
"browserslist": "last 1 Chrome version"
|
||||
}
|
||||
@@ -1,67 +1,68 @@
|
||||
function create({ url, width, number }, callback) {
|
||||
const video = document.createElement('video');
|
||||
video.crossOrigin = 'anonymous';
|
||||
video.src = url;
|
||||
const video = document.createElement('video')
|
||||
video.crossOrigin = 'anonymous'
|
||||
video.src = url
|
||||
|
||||
video.onloadedmetadata = () => {
|
||||
const duration = video.duration;
|
||||
const canvas = document.createElement('canvas');
|
||||
const ctx = canvas.getContext('2d');
|
||||
const height = Math.floor((width * video.videoHeight) / video.videoWidth);
|
||||
video.onloadedmetadata = () => {
|
||||
const duration = video.duration
|
||||
const canvas = document.createElement('canvas')
|
||||
const ctx = canvas.getContext('2d')
|
||||
const height = Math.floor((width * video.videoHeight) / video.videoWidth)
|
||||
|
||||
canvas.width = width * 10;
|
||||
canvas.height = height * Math.ceil(number / 10);
|
||||
canvas.width = width * 10
|
||||
canvas.height = height * Math.ceil(number / 10)
|
||||
|
||||
let blobUrl = null;
|
||||
let blobUrl = null
|
||||
|
||||
function seekAndDraw(index) {
|
||||
canvas.toBlob((blob) => {
|
||||
URL.revokeObjectURL(blobUrl);
|
||||
blobUrl = URL.createObjectURL(blob);
|
||||
function seekAndDraw(index) {
|
||||
canvas.toBlob((blob) => {
|
||||
URL.revokeObjectURL(blobUrl)
|
||||
blobUrl = URL.createObjectURL(blob)
|
||||
|
||||
callback({
|
||||
url: blobUrl,
|
||||
height: height,
|
||||
});
|
||||
}, 'image/jpeg');
|
||||
callback({
|
||||
url: blobUrl,
|
||||
height,
|
||||
})
|
||||
}, 'image/jpeg')
|
||||
|
||||
if (index >= number) return;
|
||||
video.currentTime = (duration * index) / number;
|
||||
if (index >= number)
|
||||
return
|
||||
video.currentTime = (duration * index) / number
|
||||
|
||||
video.onseeked = () => {
|
||||
ctx.drawImage(video, (index % 10) * width, Math.floor(index / 10) * height, width, height);
|
||||
seekAndDraw(index + 1);
|
||||
};
|
||||
}
|
||||
video.onseeked = () => {
|
||||
ctx.drawImage(video, (index % 10) * width, Math.floor(index / 10) * height, width, height)
|
||||
seekAndDraw(index + 1)
|
||||
}
|
||||
}
|
||||
|
||||
seekAndDraw(0);
|
||||
};
|
||||
seekAndDraw(0)
|
||||
}
|
||||
}
|
||||
|
||||
export default function artplayerPluginAutoThumbnail(option) {
|
||||
return async (art) => {
|
||||
art.on('video:loadedmetadata', () => {
|
||||
const url = option.url || art.option.url;
|
||||
const width = option.width || 160;
|
||||
const number = option.number || 100;
|
||||
const scale = option.scale || 1;
|
||||
create({ url, width, number }, (config) => {
|
||||
art.thumbnails = {
|
||||
...config,
|
||||
column: 10,
|
||||
number,
|
||||
width,
|
||||
scale,
|
||||
};
|
||||
});
|
||||
});
|
||||
return async (art) => {
|
||||
art.on('video:loadedmetadata', () => {
|
||||
const url = option.url || art.option.url
|
||||
const width = option.width || 160
|
||||
const number = option.number || 100
|
||||
const scale = option.scale || 1
|
||||
create({ url, width, number }, (config) => {
|
||||
art.thumbnails = {
|
||||
...config,
|
||||
column: 10,
|
||||
number,
|
||||
width,
|
||||
scale,
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginAutoThumbnail',
|
||||
};
|
||||
};
|
||||
return {
|
||||
name: 'artplayerPluginAutoThumbnail',
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window['artplayerPluginAutoThumbnail'] = artplayerPluginAutoThumbnail;
|
||||
window.artplayerPluginAutoThumbnail = artplayerPluginAutoThumbnail
|
||||
}
|
||||
+12
-12
@@ -1,17 +1,17 @@
|
||||
import type Artplayer from 'artplayer';
|
||||
import type Artplayer from 'artplayer'
|
||||
|
||||
export = artplayerPluginAutoThumbnail;
|
||||
export = artplayerPluginAutoThumbnail
|
||||
export as namespace artplayerPluginAutoThumbnail;
|
||||
|
||||
type Option = {
|
||||
url?: string;
|
||||
width?: number;
|
||||
number?: number;
|
||||
scale?: number;
|
||||
};
|
||||
interface Option {
|
||||
url?: string
|
||||
width?: number
|
||||
number?: number
|
||||
scale?: number
|
||||
}
|
||||
|
||||
type Result = {
|
||||
name: 'artplayerPluginAutoThumbnail';
|
||||
};
|
||||
interface Result {
|
||||
name: 'artplayerPluginAutoThumbnail'
|
||||
}
|
||||
|
||||
declare const artplayerPluginAutoThumbnail: (option: Option) => (art: Artplayer) => Result;
|
||||
declare const artplayerPluginAutoThumbnail: (option: Option) => (art: Artplayer) => Result
|
||||
@@ -5,5 +5,5 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,a,n,o,i,l){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},p="function"==typeof d[a]&&d[a],s=p.i||{},u=p.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!u[t]){if(!e[t]){if(n[t])return n[t];var o="function"==typeof d[a]&&d[a];if(!r&&o)return o(t,!0);if(p)return p(t,!0);if(c&&"string"==typeof t)return c(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}s.resolve=function(r){var a=e[t][1][r];return null!=a?a:r},s.cache={};var l=u[t]=new f.Module(t);e[t][0].call(l.exports,s,l,l.exports,d)}return u[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=c,this.exports={}},f.modules=e,f.cache=u,f.parent=p,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=s,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return d[a]}}),d[a]=f;for(var h=0;h<t.length;h++)f(t[h]);if(r){var g=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({"4omrA":[function(e,t,r,a){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",()=>l);var o=e("bundle-text:./style.less"),i=n.interopDefault(o);function l(e={}){return t=>{let{$player:r}=t.template,{setStyle:a,append:n,clamp:o,query:i,isMobile:l,addClass:d,removeClass:p}=t.constructor.utils,s=`<div class="art-chapter"><div class="art-chapter-inner"><div class="art-progress-hover"></div><div class="art-progress-loaded"></div><div class="art-progress-played"></div></div></div>`,u=null,c=[],f=t.query(".art-control-progress"),h=t.query(".art-control-progress-inner"),g=n(h,'<div class="art-chapters"></div>'),y=n(h,'<div class="art-chapter-title"></div>');function m({$chapter:e,width:t}){let r=e.dataset.title.trim();if(r){a(y,"display","flex"),y.innerText=r;let e=y.clientWidth;t<=e/2?a(y,"left",0):t>h.clientWidth-e/2?a(y,"left",`${h.clientWidth-e}px`):a(y,"left",`${t-e/2}px`)}else a(y,"display","none")}function v(e=[]){if((c=[],g.innerText="",p(r,"artplayer-plugin-chapter"),Array.isArray(e)&&e.length)&&t.duration){e=e.sort((e,t)=>e.start-t.start);for(let r=0;r<e.length;r++){let a=e[r],n=e[r+1];if(a.end===1/0&&(a.end=t.duration),"number"!=typeof a.start||"number"!=typeof a.end||"string"!=typeof a.title)throw Error("Illegal chapter data type");if(a.start<0||a.end>t.duration||a.start>=a.end||n&&a.end>n.start)throw Error("Illegal chapter time point")}e[0].start>0&&e.unshift({start:0,end:e[0].start,title:""}),e[e.length-1].end<t.duration&&e.push({start:e[e.length-1].end,end:t.duration,title:""});for(let t=0;t<e.length-1;t++)e[t].end!==e[t+1].start&&e.splice(t+1,0,{start:e[t].end,end:e[t+1].start,title:""});c=e.map(e=>{let r=n(g,s),a=o(e.start,0,t.duration),l=o(e.end,0,t.duration),d=l-a,p=d/t.duration;return r.dataset.start=a,r.dataset.end=l,r.dataset.duration=d,r.dataset.title=e.title.trim(),r.style.width=`${100*p}%`,{$chapter:r,$hover:i(".art-progress-hover",r),$loaded:i(".art-progress-loaded",r),$played:i(".art-progress-played",r)}}),d(r,"artplayer-plugin-chapter"),t.emit("setBar","loaded",t.loaded||0)}}return t.on("setBar",(e,r,n)=>{if(c.length)for(let o=0;o<c.length;o++){let{$chapter:i,$loaded:d,$played:p,$hover:s}=c[o],f={hover:s,loaded:d,played:p}[e];if(!f)return;let h=g.clientWidth*r,v=t.duration*r,b=parseFloat(i.dataset.duration),x=parseFloat(i.dataset.start),w=parseFloat(i.dataset.end);if(v<x&&a(f,"width",0),v>w&&a(f,"width","100%"),v>=x&&v<=w){let t=(v-x)/b;a(f,"width",`${100*t}%`),l?"played"===e&&n&&(m({$chapter:i,width:h}),clearTimeout(u),u=setTimeout(()=>{a(y,"display","none")},500)):"hover"===e&&m({$chapter:i,width:h})}}}),l||t.proxy(f,"mouseleave",()=>{c.length&&a(y,"display","none")}),t.once("video:loadedmetadata",()=>v(e.chapters)),{name:"artplayerPluginChapter",update:({chapters:e})=>v(e)}}}if("undefined"!=typeof document){let e="artplayer-plugin-chapter",t=document.getElementById(e);t||((t=document.createElement("style")).id=e,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{document.head.appendChild(t)}):(document.head||document.documentElement).appendChild(t)),t.textContent=i.default}"undefined"!=typeof window&&(window.artplayerPluginChapter=l)},{"bundle-text:./style.less":"gsGKU","@parcel/transformer-js/src/esmodule-helpers.js":"w4pLy"}],gsGKU:[function(e,t,r,a){t.exports=".artplayer-plugin-chapter .art-control-progress-inner{background-color:#0000!important;height:100%!important}.artplayer-plugin-chapter .art-control-progress-inner>.art-progress-hover,.artplayer-plugin-chapter .art-control-progress-inner>.art-progress-loaded,.artplayer-plugin-chapter .art-control-progress-inner>.art-progress-played{display:none!important}.artplayer-pluLine truncated
|
||||
!function(e,t,r,a,n,o,i,l){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},p="function"==typeof d[a]&&d[a],s=p.i||{},u=p.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!u[t]){if(!e[t]){if(n[t])return n[t];var o="function"==typeof d[a]&&d[a];if(!r&&o)return o(t,!0);if(p)return p(t,!0);if(c&&"string"==typeof t)return c(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}s.resolve=function(r){var a=e[t][1][r];return null!=a?a:r},s.cache={};var l=u[t]=new f.Module(t);e[t][0].call(l.exports,s,l,l.exports,d)}return u[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=c,this.exports={}},f.modules=e,f.cache=u,f.parent=p,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=s,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return d[a]}}),d[a]=f;for(var h=0;h<t.length;h++)f(t[h]);if(r){var g=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({"1LLzi":[function(e,t,r,a){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",()=>l);var o=e("bundle-text:./style.less"),i=n.interopDefault(o);function l(e={}){return t=>{let{$player:r}=t.template,{setStyle:a,append:n,clamp:o,query:i,isMobile:l,addClass:d,removeClass:p}=t.constructor.utils,s=`<div class="art-chapter"><div class="art-chapter-inner"><div class="art-progress-hover"></div><div class="art-progress-loaded"></div><div class="art-progress-played"></div></div></div>`,u=null,c=[],f=t.query(".art-control-progress"),h=t.query(".art-control-progress-inner"),g=n(h,'<div class="art-chapters"></div>'),y=n(h,'<div class="art-chapter-title"></div>');function m({$chapter:e,width:t}){let r=e.dataset.title.trim();if(r){a(y,"display","flex"),y.textContent=r;let e=y.clientWidth;t<=e/2?a(y,"left",0):t>h.clientWidth-e/2?a(y,"left",`${h.clientWidth-e}px`):a(y,"left",`${t-e/2}px`)}else a(y,"display","none")}function v(e=[]){if((c=[],g.textContent="",p(r,"artplayer-plugin-chapter"),Array.isArray(e)&&e.length)&&t.duration){e=e.sort((e,t)=>e.start-t.start);for(let r=0;r<e.length;r++){let a=e[r],n=e[r+1];if(a.end===1/0&&(a.end=t.duration),"number"!=typeof a.start||"number"!=typeof a.end||"string"!=typeof a.title)throw TypeError("Illegal chapter data type");if(a.start<0||a.end>t.duration||a.start>=a.end||n&&a.end>n.start)throw Error("Illegal chapter time point")}e[0].start>0&&e.unshift({start:0,end:e[0].start,title:""}),e[e.length-1].end<t.duration&&e.push({start:e[e.length-1].end,end:t.duration,title:""});for(let t=0;t<e.length-1;t++)e[t].end!==e[t+1].start&&e.splice(t+1,0,{start:e[t].end,end:e[t+1].start,title:""});c=e.map(e=>{let r=n(g,s),a=o(e.start,0,t.duration),l=o(e.end,0,t.duration),d=l-a,p=d/t.duration;return r.dataset.start=a,r.dataset.end=l,r.dataset.duration=d,r.dataset.title=e.title.trim(),r.style.width=`${100*p}%`,{$chapter:r,$hover:i(".art-progress-hover",r),$loaded:i(".art-progress-loaded",r),$played:i(".art-progress-played",r)}}),d(r,"artplayer-plugin-chapter"),t.emit("setBar","loaded",t.loaded||0)}}return t.on("setBar",(e,r,n)=>{if(c.length)for(let o=0;o<c.length;o++){let{$chapter:i,$loaded:d,$played:p,$hover:s}=c[o],f={hover:s,loaded:d,played:p}[e];if(!f)return;let h=g.clientWidth*r,v=t.duration*r,b=Number.parseFloat(i.dataset.duration),x=Number.parseFloat(i.dataset.start),w=Number.parseFloat(i.dataset.end);if(v<x&&a(f,"width",0),v>w&&a(f,"width","100%"),v>=x&&v<=w){let t=(v-x)/b;a(f,"width",`${100*t}%`),l?"played"===e&&n&&(m({$chapter:i,width:h}),clearTimeout(u),u=setTimeout(()=>{a(y,"display","none")},500)):"hover"===e&&m({$chapter:i,width:h})}}}),l||t.proxy(f,"mouseleave",()=>{c.length&&a(y,"display","none")}),t.once("video:loadedmetadata",()=>v(e.chapters)),{name:"artplayerPluginChapter",update:({chapters:e})=>v(e)}}}if("undefined"!=typeof document){let e="artplayer-plugin-chapter",t=document.getElementById(e);t||((t=document.createElement("style")).id=e,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{document.head.appendChild(t)}):(document.head||document.documentElement).appendChild(t)),t.textContent=i.default}"undefined"!=typeof window&&(window.artplayerPluginChapter=l)},{"bundle-text:./style.less":"e5E4m","@parcel/transformer-js/src/esmodule-helpers.js":"5lQoW"}],e5E4m:[function(e,t,r,a){t.exports=".artplayer-plugin-chapter .art-control-progress-inner{background-color:#0000!important;height:100%!important}.artplayer-plugin-chapter .art-control-progress-inner>.art-progress-hover,.artplayer-plugin-chapter .art-control-progress-inner>.art-progress-loaded,.artplayer-plugin-chapter .art-control-progress-inner>.art-progress-played{display:Line truncated
|
||||
//# sourceMappingURL=artplayer-plugin-chapter.esm.js.map
|
||||
@@ -1 +1 @@
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCEwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAFxB,IAAA,EAAA,EAAA,4B,E,E,c,C,GAEe,SAAS,EAAuB,EAAS,CAAC,CAAC,EACtD,OAAO,AAAC,IACJ,GAAM,CAAE,QAAA,CAAO,CAAE,CAAG,EAAI,QAAQ,CAC1B,CAAE,SAAA,CAAQ,CAAE,OAAA,CAAM,CAAE,MAAA,CAAK,CAAE,MAAA,CAAK,CAAE,SAAA,CAAQ,CAAE,SAAA,CAAQ,CAAE,YAAA,CAAW,CAAE,CAAG,EAAI,WAAW,CAAC,KAAK,CAE3F,EAAO;A;A;A;A;A;A;A;AAQb,QAAA,CAAC,CAEG,EAAa,KACb,EAAY,EAAE,CAEZ,EAAY,EAAI,KAAK,CAAC,yBACtB,EAAS,EAAI,KAAK,CAAC,+BACnB,EAAW,EAAO,EAAQ,oCAC1B,EAAS,EAAO,EAAQ,yCAE9B,SAAS,EAAU,CAAE,SAAA,CAAQ,CAAE,MAAA,CAAK,CAAE,EAClC,IAAM,EAAQ,EAAS,OAAO,CAAC,KAAK,CAAC,IAAI,GACzC,GAAI,EAAO,CACP,EAAS,EAAQ,UAAW,QAC5B,EAAO,SAAS,CAAG,EACnB,IAAM,EAAa,EAAO,WAAW,AACjC,CAAA,GAAS,EAAa,EACtB,EAAS,EAAQ,OAAQ,GAClB,EAAQ,EAAO,WAAW,CAAG,EAAa,EACjD,EAAS,EAAQ,OAAQ,CAAA,EAAG,EAAO,WAAW,CAAG,EAAW,EAAE,CAAC,EAE/D,EAAS,EAAQ,OAAQ,CAAA,EAAG,EAAQ,EAAa,EAAE,EAAE,CAAC,CAE9D,MACI,EAAS,EAAQ,UAAW,OAEpC,CAEA,SAAS,EAAO,EAAW,EAAE,EAKzB,IAJA,EAAY,EAAE,CACd,EAAS,SAAS,CAAG,GACrB,EAAY,EAAS,4BAEhB,MAAM,OAAO,CAAC,IACd,EAAS,MAAM,GACf,EAAI,QAAQ,EAEjB,EAAW,EAAS,IAAI,CAAC,CAAC,EAAG,IAAM,EAAE,KAAK,CAAG,EAAE,KAAK,EAEpD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAS,MAAM,CAAE,IAAK,CACtC,IAAM,EAAU,CAAQ,CAAC,EAAE,CACrB,EAAc,CAAQ,CAAC,EAAI,EAAE,CAMnC,GAJI,EAAQ,GAAG,GAAK,KAChB,CAAA,EAAQ,GAAG,CAAG,EAAI,QAAQ,AAAR,EAIlB,AAAyB,UAAzB,OAAO,EAAQ,KAAK,EACpB,AAAuB,UAAvB,OAAO,EAAQ,GAAG,EAClB,AAAyB,UAAzB,OAAO,EAAQ,KAAK,CAEpB,MAAM,AAAI,MAAM,6BAGpB,GAAI,EAAQ,KAAK,CAAG,GAAK,EAAQ,GAAG,CAAG,EAAI,QAAQ,EAAI,EAAQ,KAAK,EAAI,EAAQ,GAAG,EAI/E,GAAe,EAAQ,GAAG,CAAG,EAAY,KAAK,CAH9C,MAAM,AAAI,MAAM,6BAMxB,CAEI,CAAQ,CAAC,EAAE,CAAC,KAAK,CAAG,GACpB,EAAS,OAAO,CAAC,CAAE,MAAO,EAAG,IAAK,CAAQ,CAAC,EAAE,CAAC,KAAK,CAAE,MAAO,EAAG,GAG/D,CAAQ,CAAC,EAAS,MAAM,CAAG,EAAE,CAAC,GAAG,CAAG,EAAI,QAAQ,EAChD,EAAS,IAAI,CAAC,CAAE,MAAO,CAAQ,CAAC,EAAS,MAAM,CAAG,EAAE,CAAC,GAAG,CAAE,IAAK,EAAI,QAAQ,CAAE,MAAO,EAAG,GAG3F,IAAK,IAAI,EAAI,EAAG,EAAI,EAAS,MAAM,CAAG,EAAG,IACjC,CAAQ,CAAC,EAAE,CAAC,GAAG,GAAK,CAAQ,CAAC,EAAI,EAAE,CAAC,KAAK,EACzC,EAAS,MAAM,CAAC,EAAI,EAAG,EAAG,CACtB,MAAO,CAAQ,CAAC,EAAE,CAAC,GAAG,CACtB,IAAK,CAAQ,CAAC,EAAI,EAAE,CAAC,KAAK,CAC1B,MAAO,EACX,GAIR,EAAY,EAAS,GAAG,CAAC,AAAC,IACtB,IAAM,EAAW,EAAO,EAAU,GAC5B,EAAQ,EAAM,EAAQ,KAAK,CAAE,EAAG,EAAI,QAAQ,EAC5C,EAAM,EAAM,EAAQ,GAAG,CAAE,EAAG,EAAI,QAAQ,EACxC,EAAW,EAAM,EACjB,EAAa,EAAW,EAAI,QAAQ,CAO1C,OANA,EAAS,OAAO,CAAC,KAAK,CAAG,EACzB,EAAS,OAAO,CAAC,GAAG,CAAG,EACvB,EAAS,OAAO,CAAC,QAAQ,CAAG,EAC5B,EAAS,OAAO,CAAC,KAAK,CAAG,EAAQ,KAAK,CAAC,IAAI,GAC3C,EAAS,KAAK,CAAC,KAAK,CAAG,CAAA,EAAG,AAAa,IAAb,EAAiB,CAAC,CAAC,CAEtC,CACH,SAAA,EACA,OAAQ,EAAM,sBAAuB,GACrC,QAAS,EAAM,uBAAwB,GACvC,QAAS,EAAM,uBAAwB,EAC3C,CACJ,GAEA,EAAS,EAAS,4BAClB,EAAI,IAAI,CAAC,SAAU,SAAU,EAAI,MAAM,EAAI,GAC/C,CA4DA,OA1DA,EAAI,EAAE,CAAC,SAAU,CAAC,EAAM,EAAY,KAChC,GAAK,EAAU,MAAM,CAErB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAU,MAAM,CAAE,IAAK,CACvC,GAAM,CAAE,SAAA,CAAQ,CAAE,QAAA,CAAO,CAAE,QAAA,CAAO,CAAE,OAAA,CAAM,CAAE,CAAG,CAAS,CAAC,EAAE,CAErD,EAAU,CACZ,MAAO,EACP,OAAQ,EACR,OAAQ,CACZ,CAAC,CAAC,EAAK,CAEP,GAAI,CAAC,EAAS,OAEd,IAAM,EAAQ,EAAS,WAAW,CAAG,EAC/B,EAAc,EAAI,QAAQ,CAAG,EAC7B,EAAW,WAAW,EAAS,OAAO,CAAC,QAAQ,EAC/C,EAAQ,WAAW,EAAS,OAAO,CAAC,KAAK,EACzC,EAAM,WAAW,EAAS,OAAO,CAAC,GAAG,EAU3C,GARI,EAAc,GACd,EAAS,EAAS,QAAS,GAG3B,EAAc,GACd,EAAS,EAAS,QAAS,QAG3B,GAAe,GAAS,GAAe,EAAK,CAC5C,IAAM,EAAa,AAAC,CAAA,EAAc,CAAA,EAAS,EAC3C,EAAS,EAAS,QAAS,CAAA,EAAG,AAAa,IAAb,EAAiB,CAAC,CAAC,EAE7C,EACa,WAAT,GAAqB,IACrB,EAAU,CAAE,SAAA,EAAU,MAAA,CAAM,GAC5B,aAAa,GACb,EAAa,WAAW,KACpB,EAAS,EAAQ,UAAW,OAChC,EAAG,MAGH,AAAS,UAAT,GACA,EAAU,CAAE,SAAA,EAAU,MAAA,CAAM,EAGxC,CACJ,CACJ,GAEI,AAAC,GACD,EAAI,KAAK,CAAC,EAAW,aAAc,KAC1B,EAAU,MAAM,EACrB,EAAS,EAAQ,UAAW,OAChC,GAGJ,EAAI,IAAI,CAAC,uBAAwB,IAAM,EAAO,EAAO,QAAQ,GAEtD,CACH,KAAM,yBACN,OAAQ,CAAC,CAAE,SAAA,CAAQ,CAAE,GAAK,EAAO,EACrC,CACJ,CACJ,CAEA,GAAI,AAAoB,aAApB,OAAO,SAA0B,CACjC,IAAM,EAAK,2BACP,EAAS,SAAS,cAAc,CAAC,GAChC,IAED,AADA,CAAA,EAAS,SAAS,aAAa,CAAC,QAAhC,EACO,EAAE,CAAG,EACR,AAAwB,YAAxB,SAAS,UAAU,CACnB,SAAS,gBAAgB,CAAC,mBAAoB,KAC1C,SAAS,IAAI,CAAC,WAAW,CAAC,EAC9B,GAEC,AAAA,CAAA,SAAS,IAAI,EAAI,SAAS,eAAc,AAAd,EAAiB,WAAW,CAAC,IAGhE,EAAO,WAAW,CAAG,EAAA,OAAK,AAC9B,CAEI,AAAkB,aAAlB,OAAO,QACP,CAAA,OAAO,sBAAyB,CAAG,CADvC,C,E,C,2B,Q,iD,O,E,C,M,C,S,C,C,C,C,C,C,C,EC3MA,EAAO,OAAO,CAAG,0xC,E,C,E,C,M,C,S,C,C,C,Line truncated
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCEwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAFxB,IAAA,EAAA,EAAA,4B,E,E,c,C,GAEe,SAAS,EAAuB,EAAS,CAAC,CAAC,EACxD,OAAO,AAAC,IACN,GAAM,CAAE,QAAA,CAAO,CAAE,CAAG,EAAI,QAAQ,CAC1B,CAAE,SAAA,CAAQ,CAAE,OAAA,CAAM,CAAE,MAAA,CAAK,CAAE,MAAA,CAAK,CAAE,SAAA,CAAQ,CAAE,SAAA,CAAQ,CAAE,YAAA,CAAW,CAAE,CAAG,EAAI,WAAW,CAAC,KAAK,CAE3F,EAAO;A;A;A;A;A;A;A;AAQT,QAAA,CA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 truncated
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,a,n,o,i,l){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},p="function"==typeof d[a]&&d[a],s=p.i||{},u=p.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!u[t]){if(!e[t]){if(n[t])return n[t];var o="function"==typeof d[a]&&d[a];if(!r&&o)return o(t,!0);if(p)return p(t,!0);if(c&&"string"==typeof t)return c(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}s.resolve=function(r){var a=e[t][1][r];return null!=a?a:r},s.cache={};var l=u[t]=new f.Module(t);e[t][0].call(l.exports,s,l,l.exports,d)}return u[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=c,this.exports={}},f.modules=e,f.cache=u,f.parent=p,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=s,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return d[a]}}),d[a]=f;for(var h=0;h<t.length;h++)f(t[h]);if(r){var g=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({jz4E5:[function(e,t,r,a){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",()=>l);var o=e("bundle-text:./style.less"),i=n.interopDefault(o);function l(e={}){return t=>{let{$player:r}=t.template,{setStyle:a,append:n,clamp:o,query:i,isMobile:l,addClass:d,removeClass:p}=t.constructor.utils,s=`<div class="art-chapter"><div class="art-chapter-inner"><div class="art-progress-hover"></div><div class="art-progress-loaded"></div><div class="art-progress-played"></div></div></div>`,u=null,c=[],f=t.query(".art-control-progress"),h=t.query(".art-control-progress-inner"),g=n(h,'<div class="art-chapters"></div>'),y=n(h,'<div class="art-chapter-title"></div>');function m({$chapter:e,width:t}){let r=e.dataset.title.trim();if(r){a(y,"display","flex"),y.innerText=r;let e=y.clientWidth;t<=e/2?a(y,"left",0):t>h.clientWidth-e/2?a(y,"left",`${h.clientWidth-e}px`):a(y,"left",`${t-e/2}px`)}else a(y,"display","none")}function v(e=[]){if((c=[],g.innerText="",p(r,"artplayer-plugin-chapter"),Array.isArray(e)&&e.length)&&t.duration){e=e.sort((e,t)=>e.start-t.start);for(let r=0;r<e.length;r++){let a=e[r],n=e[r+1];if(a.end===1/0&&(a.end=t.duration),"number"!=typeof a.start||"number"!=typeof a.end||"string"!=typeof a.title)throw Error("Illegal chapter data type");if(a.start<0||a.end>t.duration||a.start>=a.end||n&&a.end>n.start)throw Error("Illegal chapter time point")}e[0].start>0&&e.unshift({start:0,end:e[0].start,title:""}),e[e.length-1].end<t.duration&&e.push({start:e[e.length-1].end,end:t.duration,title:""});for(let t=0;t<e.length-1;t++)e[t].end!==e[t+1].start&&e.splice(t+1,0,{start:e[t].end,end:e[t+1].start,title:""});c=e.map(e=>{let r=n(g,s),a=o(e.start,0,t.duration),l=o(e.end,0,t.duration),d=l-a,p=d/t.duration;return r.dataset.start=a,r.dataset.end=l,r.dataset.duration=d,r.dataset.title=e.title.trim(),r.style.width=`${100*p}%`,{$chapter:r,$hover:i(".art-progress-hover",r),$loaded:i(".art-progress-loaded",r),$played:i(".art-progress-played",r)}}),d(r,"artplayer-plugin-chapter"),t.emit("setBar","loaded",t.loaded||0)}}return t.on("setBar",(e,r,n)=>{if(c.length)for(let o=0;o<c.length;o++){let{$chapter:i,$loaded:d,$played:p,$hover:s}=c[o],f={hover:s,loaded:d,played:p}[e];if(!f)return;let h=g.clientWidth*r,v=t.duration*r,b=parseFloat(i.dataset.duration),x=parseFloat(i.dataset.start),w=parseFloat(i.dataset.end);if(v<x&&a(f,"width",0),v>w&&a(f,"width","100%"),v>=x&&v<=w){let t=(v-x)/b;a(f,"width",`${100*t}%`),l?"played"===e&&n&&(m({$chapter:i,width:h}),clearTimeout(u),u=setTimeout(()=>{a(y,"display","none")},500)):"hover"===e&&m({$chapter:i,width:h})}}}),l||t.proxy(f,"mouseleave",()=>{c.length&&a(y,"display","none")}),t.once("video:loadedmetadata",()=>v(e.chapters)),{name:"artplayerPluginChapter",update:({chapters:e})=>v(e)}}}if("undefined"!=typeof document){let e="artplayer-plugin-chapter",t=document.getElementById(e);t||((t=document.createElement("style")).id=e,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{document.head.appendChild(t)}):(document.head||document.documentElement).appendChild(t)),t.textContent=i.default}"undefined"!=typeof window&&(window.artplayerPluginChapter=l)},{"bundle-text:./style.less":"cYOwY","@parcel/transformer-js/src/esmodule-helpers.js":"7o2zS"}],cYOwY:[function(e,t,r,a){t.exports=".artplayer-plugin-chapter .art-control-progress-inner{background-color:#0000!important;height:100%!important}.artplayer-plugin-chapter .art-control-progress-inner>.art-progress-hover,.artplayer-plugin-chapter .art-control-progress-inner>.art-progress-loaded,.artplayer-plugin-chapter .art-control-progress-inner>.art-progress-played{display:none!important}.artplayer-plugiLine truncated
|
||||
!function(e,t,r,a,n,o,i,l){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},p="function"==typeof d[a]&&d[a],s=p.i||{},u=p.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!u[t]){if(!e[t]){if(n[t])return n[t];var o="function"==typeof d[a]&&d[a];if(!r&&o)return o(t,!0);if(p)return p(t,!0);if(c&&"string"==typeof t)return c(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}s.resolve=function(r){var a=e[t][1][r];return null!=a?a:r},s.cache={};var l=u[t]=new f.Module(t);e[t][0].call(l.exports,s,l,l.exports,d)}return u[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=c,this.exports={}},f.modules=e,f.cache=u,f.parent=p,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=s,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return d[a]}}),d[a]=f;for(var h=0;h<t.length;h++)f(t[h]);if(r){var g=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({"3VfEb":[function(e,t,r,a){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",()=>l);var o=e("bundle-text:./style.less"),i=n.interopDefault(o);function l(e={}){return t=>{let{$player:r}=t.template,{setStyle:a,append:n,clamp:o,query:i,isMobile:l,addClass:d,removeClass:p}=t.constructor.utils,s=`<div class="art-chapter"><div class="art-chapter-inner"><div class="art-progress-hover"></div><div class="art-progress-loaded"></div><div class="art-progress-played"></div></div></div>`,u=null,c=[],f=t.query(".art-control-progress"),h=t.query(".art-control-progress-inner"),g=n(h,'<div class="art-chapters"></div>'),y=n(h,'<div class="art-chapter-title"></div>');function m({$chapter:e,width:t}){let r=e.dataset.title.trim();if(r){a(y,"display","flex"),y.textContent=r;let e=y.clientWidth;t<=e/2?a(y,"left",0):t>h.clientWidth-e/2?a(y,"left",`${h.clientWidth-e}px`):a(y,"left",`${t-e/2}px`)}else a(y,"display","none")}function v(e=[]){if((c=[],g.textContent="",p(r,"artplayer-plugin-chapter"),Array.isArray(e)&&e.length)&&t.duration){e=e.sort((e,t)=>e.start-t.start);for(let r=0;r<e.length;r++){let a=e[r],n=e[r+1];if(a.end===1/0&&(a.end=t.duration),"number"!=typeof a.start||"number"!=typeof a.end||"string"!=typeof a.title)throw TypeError("Illegal chapter data type");if(a.start<0||a.end>t.duration||a.start>=a.end||n&&a.end>n.start)throw Error("Illegal chapter time point")}e[0].start>0&&e.unshift({start:0,end:e[0].start,title:""}),e[e.length-1].end<t.duration&&e.push({start:e[e.length-1].end,end:t.duration,title:""});for(let t=0;t<e.length-1;t++)e[t].end!==e[t+1].start&&e.splice(t+1,0,{start:e[t].end,end:e[t+1].start,title:""});c=e.map(e=>{let r=n(g,s),a=o(e.start,0,t.duration),l=o(e.end,0,t.duration),d=l-a,p=d/t.duration;return r.dataset.start=a,r.dataset.end=l,r.dataset.duration=d,r.dataset.title=e.title.trim(),r.style.width=`${100*p}%`,{$chapter:r,$hover:i(".art-progress-hover",r),$loaded:i(".art-progress-loaded",r),$played:i(".art-progress-played",r)}}),d(r,"artplayer-plugin-chapter"),t.emit("setBar","loaded",t.loaded||0)}}return t.on("setBar",(e,r,n)=>{if(c.length)for(let o=0;o<c.length;o++){let{$chapter:i,$loaded:d,$played:p,$hover:s}=c[o],f={hover:s,loaded:d,played:p}[e];if(!f)return;let h=g.clientWidth*r,v=t.duration*r,b=Number.parseFloat(i.dataset.duration),x=Number.parseFloat(i.dataset.start),w=Number.parseFloat(i.dataset.end);if(v<x&&a(f,"width",0),v>w&&a(f,"width","100%"),v>=x&&v<=w){let t=(v-x)/b;a(f,"width",`${100*t}%`),l?"played"===e&&n&&(m({$chapter:i,width:h}),clearTimeout(u),u=setTimeout(()=>{a(y,"display","none")},500)):"hover"===e&&m({$chapter:i,width:h})}}}),l||t.proxy(f,"mouseleave",()=>{c.length&&a(y,"display","none")}),t.once("video:loadedmetadata",()=>v(e.chapters)),{name:"artplayerPluginChapter",update:({chapters:e})=>v(e)}}}if("undefined"!=typeof document){let e="artplayer-plugin-chapter",t=document.getElementById(e);t||((t=document.createElement("style")).id=e,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{document.head.appendChild(t)}):(document.head||document.documentElement).appendChild(t)),t.textContent=i.default}"undefined"!=typeof window&&(window.artplayerPluginChapter=l)},{"bundle-text:./style.less":"emPWt","@parcel/transformer-js/src/esmodule-helpers.js":"6ykb1"}],emPWt:[function(e,t,r,a){t.exports=".artplayer-plugin-chapter .art-control-progress-inner{background-color:#0000!important;height:100%!important}.artplayer-plugin-chapter .art-control-progress-inner>.art-progress-hover,.artplayer-plugin-chapter .art-control-progress-inner>.art-progress-loaded,.artplayer-plugin-chapter .art-control-progress-inner>.art-progress-played{display:Line truncated
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,a,n,o,i,l){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},p="function"==typeof d[a]&&d[a],s=p.i||{},u=p.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!u[t]){if(!e[t]){if(n[t])return n[t];var o="function"==typeof d[a]&&d[a];if(!r&&o)return o(t,!0);if(p)return p(t,!0);if(c&&"string"==typeof t)return c(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}s.resolve=function(r){var a=e[t][1][r];return null!=a?a:r},s.cache={};var l=u[t]=new f.Module(t);e[t][0].call(l.exports,s,l,l.exports,d)}return u[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=c,this.exports={}},f.modules=e,f.cache=u,f.parent=p,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=s,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return d[a]}}),d[a]=f;for(var h=0;h<t.length;h++)f(t[h]);if(r){var g=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({bzF6W:[function(e,t,r,a){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return l});var o=e("bundle-text:./style.less"),i=n.interopDefault(o);function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var r=t.template.$player,a=t.constructor.utils,n=a.setStyle,o=a.append,i=a.clamp,l=a.query,d=a.isMobile,p=a.addClass,s=a.removeClass,u=null,c=[],f=t.query(".art-control-progress"),h=t.query(".art-control-progress-inner"),g=o(h,'<div class="art-chapters"></div>'),y=o(h,'<div class="art-chapter-title"></div>');function v(e){var t=e.$chapter,r=e.width,a=t.dataset.title.trim();if(a){n(y,"display","flex"),y.innerText=a;var o=y.clientWidth;r<=o/2?n(y,"left",0):r>h.clientWidth-o/2?n(y,"left","".concat(h.clientWidth-o,"px")):n(y,"left","".concat(r-o/2,"px"))}else n(y,"display","none")}function m(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if((c=[],g.innerText="",s(r,"artplayer-plugin-chapter"),Array.isArray(e)&&e.length)&&t.duration){e=e.sort(function(e,t){return e.start-t.start});for(var a=0;a<e.length;a++){var n=e[a],d=e[a+1];if(n.end===1/0&&(n.end=t.duration),"number"!=typeof n.start||"number"!=typeof n.end||"string"!=typeof n.title)throw Error("Illegal chapter data type");if(n.start<0||n.end>t.duration||n.start>=n.end||d&&n.end>d.start)throw Error("Illegal chapter time point")}e[0].start>0&&e.unshift({start:0,end:e[0].start,title:""}),e[e.length-1].end<t.duration&&e.push({start:e[e.length-1].end,end:t.duration,title:""});for(var u=0;u<e.length-1;u++)e[u].end!==e[u+1].start&&e.splice(u+1,0,{start:e[u].end,end:e[u+1].start,title:""});c=e.map(function(e){var r=o(g,'\n <div class="art-chapter">\n<div class="art-chapter-inner">\n<div class="art-progress-hover"></div>\n<div class="art-progress-loaded"></div>\n<div class="art-progress-played"></div>\n</div>\n</div>\n '),a=i(e.start,0,t.duration),n=i(e.end,0,t.duration),d=n-a,p=d/t.duration;return r.dataset.start=a,r.dataset.end=n,r.dataset.duration=d,r.dataset.title=e.title.trim(),r.style.width="".concat(100*p,"%"),{$chapter:r,$hover:l(".art-progress-hover",r),$loaded:l(".art-progress-loaded",r),$played:l(".art-progress-played",r)}}),p(r,"artplayer-plugin-chapter"),t.emit("setBar","loaded",t.loaded||0)}}return t.on("setBar",function(e,r,a){if(c.length)for(var o=0;o<c.length;o++){var i=c[o],l=i.$chapter,p=i.$loaded,s=i.$played,f={hover:i.$hover,loaded:p,played:s}[e];if(!f)return;var h=g.clientWidth*r,m=t.duration*r,b=parseFloat(l.dataset.duration),x=parseFloat(l.dataset.start),w=parseFloat(l.dataset.end);if(m<x&&n(f,"width",0),m>w&&n(f,"width","100%"),m>=x&&m<=w){var O=(m-x)/b;n(f,"width","".concat(100*O,"%")),d?"played"===e&&a&&(v({$chapter:l,width:h}),clearTimeout(u),u=setTimeout(function(){n(y,"display","none")},500)):"hover"===e&&v({$chapter:l,width:h})}}}),d||t.proxy(f,"mouseleave",function(){c.length&&n(y,"display","none")}),t.once("video:loadedmetadata",function(){return m(e.chapters)}),{name:"artplayerPluginChapter",update:function(e){return m(e.chapters)}}}}if("undefined"!=typeof document){var d="artplayer-plugin-chapter",p=document.getElementById(d);p||((p=document.createElement("style")).id=d,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",function(){document.head.appendChild(p)}):(document.head||document.documentElement).appendChild(p)),p.textContent=i.default}"undefined"!=typeof window&&(window.artplayerPluginChapter=l)},{"bundle-text:./style.less":"9Oi7e","@parcel/transformer-js/src/esmodule-helpers.js":"ihnSZ"}],"9Oi7e":[function(e,t,r,a){t.exports=".artplayer-plugin-chapter .art-control-progress-inner{background-color:transpareLine truncated
|
||||
!function(e,t,r,a,n,o,i,l){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},p="function"==typeof d[a]&&d[a],s=p.i||{},u=p.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!u[t]){if(!e[t]){if(n[t])return n[t];var o="function"==typeof d[a]&&d[a];if(!r&&o)return o(t,!0);if(p)return p(t,!0);if(c&&"string"==typeof t)return c(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}s.resolve=function(r){var a=e[t][1][r];return null!=a?a:r},s.cache={};var l=u[t]=new f.Module(t);e[t][0].call(l.exports,s,l,l.exports,d)}return u[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=c,this.exports={}},f.modules=e,f.cache=u,f.parent=p,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=s,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return d[a]}}),d[a]=f;for(var h=0;h<t.length;h++)f(t[h]);if(r){var g=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({"7hySu":[function(e,t,r,a){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return l});var o=e("bundle-text:./style.less"),i=n.interopDefault(o);function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var r=t.template.$player,a=t.constructor.utils,n=a.setStyle,o=a.append,i=a.clamp,l=a.query,d=a.isMobile,p=a.addClass,s=a.removeClass,u=null,c=[],f=t.query(".art-control-progress"),h=t.query(".art-control-progress-inner"),g=o(h,'<div class="art-chapters"></div>'),y=o(h,'<div class="art-chapter-title"></div>');function v(e){var t=e.$chapter,r=e.width,a=t.dataset.title.trim();if(a){n(y,"display","flex"),y.textContent=a;var o=y.clientWidth;r<=o/2?n(y,"left",0):r>h.clientWidth-o/2?n(y,"left","".concat(h.clientWidth-o,"px")):n(y,"left","".concat(r-o/2,"px"))}else n(y,"display","none")}function m(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if((c=[],g.textContent="",s(r,"artplayer-plugin-chapter"),Array.isArray(e)&&e.length)&&t.duration){e=e.sort(function(e,t){return e.start-t.start});for(var a=0;a<e.length;a++){var n=e[a],d=e[a+1];if(n.end===1/0&&(n.end=t.duration),"number"!=typeof n.start||"number"!=typeof n.end||"string"!=typeof n.title)throw TypeError("Illegal chapter data type");if(n.start<0||n.end>t.duration||n.start>=n.end||d&&n.end>d.start)throw Error("Illegal chapter time point")}e[0].start>0&&e.unshift({start:0,end:e[0].start,title:""}),e[e.length-1].end<t.duration&&e.push({start:e[e.length-1].end,end:t.duration,title:""});for(var u=0;u<e.length-1;u++)e[u].end!==e[u+1].start&&e.splice(u+1,0,{start:e[u].end,end:e[u+1].start,title:""});c=e.map(function(e){var r=o(g,'\n <div class="art-chapter">\n<div class="art-chapter-inner">\n<div class="art-progress-hover"></div>\n<div class="art-progress-loaded"></div>\n<div class="art-progress-played"></div>\n</div>\n</div>\n '),a=i(e.start,0,t.duration),n=i(e.end,0,t.duration),d=n-a,p=d/t.duration;return r.dataset.start=a,r.dataset.end=n,r.dataset.duration=d,r.dataset.title=e.title.trim(),r.style.width="".concat(100*p,"%"),{$chapter:r,$hover:l(".art-progress-hover",r),$loaded:l(".art-progress-loaded",r),$played:l(".art-progress-played",r)}}),p(r,"artplayer-plugin-chapter"),t.emit("setBar","loaded",t.loaded||0)}}return t.on("setBar",function(e,r,a){if(c.length)for(var o=0;o<c.length;o++){var i=c[o],l=i.$chapter,p=i.$loaded,s=i.$played,f={hover:i.$hover,loaded:p,played:s}[e];if(!f)return;var h=g.clientWidth*r,m=t.duration*r,b=Number.parseFloat(l.dataset.duration),x=Number.parseFloat(l.dataset.start),w=Number.parseFloat(l.dataset.end);if(m<x&&n(f,"width",0),m>w&&n(f,"width","100%"),m>=x&&m<=w){var M=(m-x)/b;n(f,"width","".concat(100*M,"%")),d?"played"===e&&a&&(v({$chapter:l,width:h}),clearTimeout(u),u=setTimeout(function(){n(y,"display","none")},500)):"hover"===e&&v({$chapter:l,width:h})}}}),d||t.proxy(f,"mouseleave",function(){c.length&&n(y,"display","none")}),t.once("video:loadedmetadata",function(){return m(e.chapters)}),{name:"artplayerPluginChapter",update:function(e){return m(e.chapters)}}}}if("undefined"!=typeof document){var d="artplayer-plugin-chapter",p=document.getElementById(d);p||((p=document.createElement("style")).id=d,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",function(){document.head.appendChild(p)}):(document.head||document.documentElement).appendChild(p)),p.textContent=i.default}"undefined"!=typeof window&&(window.artplayerPluginChapter=l)},{"bundle-text:./style.less":"fcXWB","@parcel/transformer-js/src/esmodule-helpers.js":"qpMMf"}],fcXWB:[function(e,t,r,a){t.exports=".artplayer-plugin-chapter .art-control-progress-innLine truncated
|
||||
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"license": "MIT",
|
||||
"version": "1.0.1",
|
||||
"name": "artplayer-plugin-chapter",
|
||||
"description": "chapter plugin for ArtPlayer",
|
||||
"main": "dist/artplayer-plugin-chapter.js",
|
||||
"legacy": "dist/artplayer-plugin-chapter.legacy.js",
|
||||
"module": "dist/artplayer-plugin-chapter.esm.js",
|
||||
"types": "types/artplayer-plugin-chapter.d.ts",
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-chapter.esm.js",
|
||||
"require": "./dist/artplayer-plugin-chapter.js",
|
||||
"default": "./dist/artplayer-plugin-chapter.js"
|
||||
},
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
]
|
||||
"name": "artplayer-plugin-chapter",
|
||||
"version": "1.0.1",
|
||||
"description": "chapter plugin for ArtPlayer",
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"license": "MIT",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-chapter.esm.js",
|
||||
"require": "./dist/artplayer-plugin-chapter.js",
|
||||
"default": "./dist/artplayer-plugin-chapter.js"
|
||||
},
|
||||
"main": "dist/artplayer-plugin-chapter.js",
|
||||
"legacy": "dist/artplayer-plugin-chapter.legacy.js",
|
||||
"module": "dist/artplayer-plugin-chapter.esm.js",
|
||||
"types": "types/artplayer-plugin-chapter.d.ts",
|
||||
"browserslist": "last 1 Chrome version"
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
import style from 'bundle-text:./style.less';
|
||||
import style from 'bundle-text:./style.less'
|
||||
|
||||
export default function artplayerPluginChapter(option = {}) {
|
||||
return (art) => {
|
||||
const { $player } = art.template;
|
||||
const { setStyle, append, clamp, query, isMobile, addClass, removeClass } = art.constructor.utils;
|
||||
return (art) => {
|
||||
const { $player } = art.template
|
||||
const { setStyle, append, clamp, query, isMobile, addClass, removeClass } = art.constructor.utils
|
||||
|
||||
const html = `
|
||||
const html = `
|
||||
<div class="art-chapter">
|
||||
<div class="art-chapter-inner">
|
||||
<div class="art-progress-hover"></div>
|
||||
@@ -13,194 +13,205 @@ export default function artplayerPluginChapter(option = {}) {
|
||||
<div class="art-progress-played"></div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
`
|
||||
|
||||
let titleTimer = null;
|
||||
let $chapters = [];
|
||||
let titleTimer = null
|
||||
let $chapters = []
|
||||
|
||||
const $progress = art.query('.art-control-progress');
|
||||
const $inner = art.query('.art-control-progress-inner');
|
||||
const $control = append($inner, '<div class="art-chapters"></div>');
|
||||
const $title = append($inner, '<div class="art-chapter-title"></div>');
|
||||
const $progress = art.query('.art-control-progress')
|
||||
const $inner = art.query('.art-control-progress-inner')
|
||||
const $control = append($inner, '<div class="art-chapters"></div>')
|
||||
const $title = append($inner, '<div class="art-chapter-title"></div>')
|
||||
|
||||
function showTitle({ $chapter, width }) {
|
||||
const title = $chapter.dataset.title.trim();
|
||||
if (title) {
|
||||
setStyle($title, 'display', 'flex');
|
||||
$title.innerText = title;
|
||||
const titleWidth = $title.clientWidth;
|
||||
if (width <= titleWidth / 2) {
|
||||
setStyle($title, 'left', 0);
|
||||
} else if (width > $inner.clientWidth - titleWidth / 2) {
|
||||
setStyle($title, 'left', `${$inner.clientWidth - titleWidth}px`);
|
||||
} else {
|
||||
setStyle($title, 'left', `${width - titleWidth / 2}px`);
|
||||
}
|
||||
} else {
|
||||
setStyle($title, 'display', 'none');
|
||||
}
|
||||
function showTitle({ $chapter, width }) {
|
||||
const title = $chapter.dataset.title.trim()
|
||||
if (title) {
|
||||
setStyle($title, 'display', 'flex')
|
||||
$title.textContent = title
|
||||
const titleWidth = $title.clientWidth
|
||||
if (width <= titleWidth / 2) {
|
||||
setStyle($title, 'left', 0)
|
||||
}
|
||||
else if (width > $inner.clientWidth - titleWidth / 2) {
|
||||
setStyle($title, 'left', `${$inner.clientWidth - titleWidth}px`)
|
||||
}
|
||||
else {
|
||||
setStyle($title, 'left', `${width - titleWidth / 2}px`)
|
||||
}
|
||||
}
|
||||
else {
|
||||
setStyle($title, 'display', 'none')
|
||||
}
|
||||
}
|
||||
|
||||
function update(chapters = []) {
|
||||
$chapters = []
|
||||
$control.textContent = ''
|
||||
removeClass($player, 'artplayer-plugin-chapter')
|
||||
|
||||
if (!Array.isArray(chapters))
|
||||
return
|
||||
if (!chapters.length)
|
||||
return
|
||||
if (!art.duration)
|
||||
return
|
||||
|
||||
chapters = chapters.sort((a, b) => a.start - b.start)
|
||||
|
||||
for (let i = 0; i < chapters.length; i++) {
|
||||
const chapter = chapters[i]
|
||||
const nextChapter = chapters[i + 1]
|
||||
|
||||
if (chapter.end === Infinity) {
|
||||
chapter.end = art.duration
|
||||
}
|
||||
|
||||
function update(chapters = []) {
|
||||
$chapters = [];
|
||||
$control.innerText = '';
|
||||
removeClass($player, 'artplayer-plugin-chapter');
|
||||
|
||||
if (!Array.isArray(chapters)) return;
|
||||
if (!chapters.length) return;
|
||||
if (!art.duration) return;
|
||||
|
||||
chapters = chapters.sort((a, b) => a.start - b.start);
|
||||
|
||||
for (let i = 0; i < chapters.length; i++) {
|
||||
const chapter = chapters[i];
|
||||
const nextChapter = chapters[i + 1];
|
||||
|
||||
if (chapter.end === Infinity) {
|
||||
chapter.end = art.duration;
|
||||
}
|
||||
|
||||
if (
|
||||
typeof chapter.start !== 'number' ||
|
||||
typeof chapter.end !== 'number' ||
|
||||
typeof chapter.title !== 'string'
|
||||
) {
|
||||
throw new Error('Illegal chapter data type');
|
||||
}
|
||||
|
||||
if (chapter.start < 0 || chapter.end > art.duration || chapter.start >= chapter.end) {
|
||||
throw new Error('Illegal chapter time point');
|
||||
}
|
||||
|
||||
if (nextChapter && chapter.end > nextChapter.start) {
|
||||
throw new Error('Illegal chapter time point');
|
||||
}
|
||||
}
|
||||
|
||||
if (chapters[0].start > 0) {
|
||||
chapters.unshift({ start: 0, end: chapters[0].start, title: '' });
|
||||
}
|
||||
|
||||
if (chapters[chapters.length - 1].end < art.duration) {
|
||||
chapters.push({ start: chapters[chapters.length - 1].end, end: art.duration, title: '' });
|
||||
}
|
||||
|
||||
for (let i = 0; i < chapters.length - 1; i++) {
|
||||
if (chapters[i].end !== chapters[i + 1].start) {
|
||||
chapters.splice(i + 1, 0, {
|
||||
start: chapters[i].end,
|
||||
end: chapters[i + 1].start,
|
||||
title: '',
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$chapters = chapters.map((chapter) => {
|
||||
const $chapter = append($control, html);
|
||||
const start = clamp(chapter.start, 0, art.duration);
|
||||
const end = clamp(chapter.end, 0, art.duration);
|
||||
const duration = end - start;
|
||||
const percentage = duration / art.duration;
|
||||
$chapter.dataset.start = start;
|
||||
$chapter.dataset.end = end;
|
||||
$chapter.dataset.duration = duration;
|
||||
$chapter.dataset.title = chapter.title.trim();
|
||||
$chapter.style.width = `${percentage * 100}%`;
|
||||
|
||||
return {
|
||||
$chapter,
|
||||
$hover: query('.art-progress-hover', $chapter),
|
||||
$loaded: query('.art-progress-loaded', $chapter),
|
||||
$played: query('.art-progress-played', $chapter),
|
||||
};
|
||||
});
|
||||
|
||||
addClass($player, 'artplayer-plugin-chapter');
|
||||
art.emit('setBar', 'loaded', art.loaded || 0);
|
||||
if (
|
||||
typeof chapter.start !== 'number'
|
||||
|| typeof chapter.end !== 'number'
|
||||
|| typeof chapter.title !== 'string'
|
||||
) {
|
||||
throw new TypeError('Illegal chapter data type')
|
||||
}
|
||||
|
||||
art.on('setBar', (type, percentage, event) => {
|
||||
if (!$chapters.length) return;
|
||||
|
||||
for (let i = 0; i < $chapters.length; i++) {
|
||||
const { $chapter, $loaded, $played, $hover } = $chapters[i];
|
||||
|
||||
const $target = {
|
||||
hover: $hover,
|
||||
loaded: $loaded,
|
||||
played: $played,
|
||||
}[type];
|
||||
|
||||
if (!$target) return;
|
||||
|
||||
const width = $control.clientWidth * percentage;
|
||||
const currentTime = art.duration * percentage;
|
||||
const duration = parseFloat($chapter.dataset.duration);
|
||||
const start = parseFloat($chapter.dataset.start);
|
||||
const end = parseFloat($chapter.dataset.end);
|
||||
|
||||
if (currentTime < start) {
|
||||
setStyle($target, 'width', 0);
|
||||
}
|
||||
|
||||
if (currentTime > end) {
|
||||
setStyle($target, 'width', '100%');
|
||||
}
|
||||
|
||||
if (currentTime >= start && currentTime <= end) {
|
||||
const percentage = (currentTime - start) / duration;
|
||||
setStyle($target, 'width', `${percentage * 100}%`);
|
||||
|
||||
if (isMobile) {
|
||||
if (type === 'played' && event) {
|
||||
showTitle({ $chapter, width });
|
||||
clearTimeout(titleTimer);
|
||||
titleTimer = setTimeout(() => {
|
||||
setStyle($title, 'display', 'none');
|
||||
}, 500);
|
||||
}
|
||||
} else {
|
||||
if (type === 'hover') {
|
||||
showTitle({ $chapter, width });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (!isMobile) {
|
||||
art.proxy($progress, 'mouseleave', () => {
|
||||
if (!$chapters.length) return;
|
||||
setStyle($title, 'display', 'none');
|
||||
});
|
||||
if (chapter.start < 0 || chapter.end > art.duration || chapter.start >= chapter.end) {
|
||||
throw new Error('Illegal chapter time point')
|
||||
}
|
||||
|
||||
art.once('video:loadedmetadata', () => update(option.chapters));
|
||||
if (nextChapter && chapter.end > nextChapter.start) {
|
||||
throw new Error('Illegal chapter time point')
|
||||
}
|
||||
}
|
||||
|
||||
if (chapters[0].start > 0) {
|
||||
chapters.unshift({ start: 0, end: chapters[0].start, title: '' })
|
||||
}
|
||||
|
||||
if (chapters[chapters.length - 1].end < art.duration) {
|
||||
chapters.push({ start: chapters[chapters.length - 1].end, end: art.duration, title: '' })
|
||||
}
|
||||
|
||||
for (let i = 0; i < chapters.length - 1; i++) {
|
||||
if (chapters[i].end !== chapters[i + 1].start) {
|
||||
chapters.splice(i + 1, 0, {
|
||||
start: chapters[i].end,
|
||||
end: chapters[i + 1].start,
|
||||
title: '',
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
$chapters = chapters.map((chapter) => {
|
||||
const $chapter = append($control, html)
|
||||
const start = clamp(chapter.start, 0, art.duration)
|
||||
const end = clamp(chapter.end, 0, art.duration)
|
||||
const duration = end - start
|
||||
const percentage = duration / art.duration
|
||||
$chapter.dataset.start = start
|
||||
$chapter.dataset.end = end
|
||||
$chapter.dataset.duration = duration
|
||||
$chapter.dataset.title = chapter.title.trim()
|
||||
$chapter.style.width = `${percentage * 100}%`
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginChapter',
|
||||
update: ({ chapters }) => update(chapters),
|
||||
};
|
||||
};
|
||||
$chapter,
|
||||
$hover: query('.art-progress-hover', $chapter),
|
||||
$loaded: query('.art-progress-loaded', $chapter),
|
||||
$played: query('.art-progress-played', $chapter),
|
||||
}
|
||||
})
|
||||
|
||||
addClass($player, 'artplayer-plugin-chapter')
|
||||
art.emit('setBar', 'loaded', art.loaded || 0)
|
||||
}
|
||||
|
||||
art.on('setBar', (type, percentage, event) => {
|
||||
if (!$chapters.length)
|
||||
return
|
||||
|
||||
for (let i = 0; i < $chapters.length; i++) {
|
||||
const { $chapter, $loaded, $played, $hover } = $chapters[i]
|
||||
|
||||
const $target = {
|
||||
hover: $hover,
|
||||
loaded: $loaded,
|
||||
played: $played,
|
||||
}[type]
|
||||
|
||||
if (!$target)
|
||||
return
|
||||
|
||||
const width = $control.clientWidth * percentage
|
||||
const currentTime = art.duration * percentage
|
||||
const duration = Number.parseFloat($chapter.dataset.duration)
|
||||
const start = Number.parseFloat($chapter.dataset.start)
|
||||
const end = Number.parseFloat($chapter.dataset.end)
|
||||
|
||||
if (currentTime < start) {
|
||||
setStyle($target, 'width', 0)
|
||||
}
|
||||
|
||||
if (currentTime > end) {
|
||||
setStyle($target, 'width', '100%')
|
||||
}
|
||||
|
||||
if (currentTime >= start && currentTime <= end) {
|
||||
const percentage = (currentTime - start) / duration
|
||||
setStyle($target, 'width', `${percentage * 100}%`)
|
||||
|
||||
if (isMobile) {
|
||||
if (type === 'played' && event) {
|
||||
showTitle({ $chapter, width })
|
||||
clearTimeout(titleTimer)
|
||||
titleTimer = setTimeout(() => {
|
||||
setStyle($title, 'display', 'none')
|
||||
}, 500)
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (type === 'hover') {
|
||||
showTitle({ $chapter, width })
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
if (!isMobile) {
|
||||
art.proxy($progress, 'mouseleave', () => {
|
||||
if (!$chapters.length)
|
||||
return
|
||||
setStyle($title, 'display', 'none')
|
||||
})
|
||||
}
|
||||
|
||||
art.once('video:loadedmetadata', () => update(option.chapters))
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginChapter',
|
||||
update: ({ chapters }) => update(chapters),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof document !== 'undefined') {
|
||||
const id = 'artplayer-plugin-chapter';
|
||||
let $style = document.getElementById(id);
|
||||
if (!$style) {
|
||||
$style = document.createElement('style');
|
||||
$style.id = id;
|
||||
if (document.readyState === 'loading') {
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
document.head.appendChild($style);
|
||||
});
|
||||
} else {
|
||||
(document.head || document.documentElement).appendChild($style);
|
||||
}
|
||||
const id = 'artplayer-plugin-chapter'
|
||||
let $style = document.getElementById(id)
|
||||
if (!$style) {
|
||||
$style = document.createElement('style')
|
||||
$style.id = id
|
||||
if (document.readyState === 'loading') {
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
document.head.appendChild($style)
|
||||
})
|
||||
}
|
||||
$style.textContent = style;
|
||||
else {
|
||||
(document.head || document.documentElement).appendChild($style)
|
||||
}
|
||||
}
|
||||
$style.textContent = style
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window['artplayerPluginChapter'] = artplayerPluginChapter;
|
||||
window.artplayerPluginChapter = artplayerPluginChapter
|
||||
}
|
||||
@@ -1,21 +1,21 @@
|
||||
import type Artplayer from 'artplayer';
|
||||
import type Artplayer from 'artplayer'
|
||||
|
||||
export = artplayerPluginChapter;
|
||||
export = artplayerPluginChapter
|
||||
export as namespace artplayerPluginChapter;
|
||||
|
||||
type Chapters = {
|
||||
start: number;
|
||||
end: number;
|
||||
title: string;
|
||||
}[];
|
||||
start: number
|
||||
end: number
|
||||
title: string
|
||||
}[]
|
||||
|
||||
type Option = {
|
||||
chapters?: Chapters;
|
||||
};
|
||||
interface Option {
|
||||
chapters?: Chapters
|
||||
}
|
||||
|
||||
type Result = {
|
||||
name: 'artplayerPluginChapter';
|
||||
update: (option: Option) => void;
|
||||
};
|
||||
interface Result {
|
||||
name: 'artplayerPluginChapter'
|
||||
update: (option: Option) => void
|
||||
}
|
||||
|
||||
declare const artplayerPluginChapter: (option: Option) => (art: Artplayer) => Result;
|
||||
declare const artplayerPluginChapter: (option: Option) => (art: Artplayer) => Result
|
||||
+1
-1
@@ -5,5 +5,5 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,o,n,r,i,a,c){var s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof s[n]&&s[n],l=d.i||{},u=d.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,o){if(!u[t]){if(!e[t]){if(r[t])return r[t];var i="function"==typeof s[n]&&s[n];if(!o&&i)return i(t,!0);if(d)return d(t,!0);if(f&&"string"==typeof t)return f(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}l.resolve=function(o){var n=e[t][1][o];return null!=n?n:o},l.cache={};var c=u[t]=new p.Module(t);e[t][0].call(c.exports,l,c,c.exports,s)}return u[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=f,this.exports={}},p.modules=e,p.cache=u,p.parent=d,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=l,p.register=function(t,o){e[t]=[function(e,t){t.exports=o},{}]},Object.defineProperty(p,"root",{get:function(){return s[n]}}),s[n]=p;for(var w=0;w<t.length;w++)p(t[w]);if(o){var m=p(o);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({"4omrA":[function(e,t,o,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(o),r.export(o,"default",()=>c);let i=e=>new Promise((t,o)=>{let n=document.createElement("script");n.src=e,n.onload=t,n.onerror=o,document.body.appendChild(n)}),a=e=>({mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",ogv:"video/ogg",mp3:"audio/mp3",wav:"audio/wav",flv:"video/x-flv",mov:"video/quicktime",avi:"video/x-msvideo",wmv:"video/x-ms-wmv",mpd:"application/dash+xml",m3u8:"application/x-mpegURL"})[e.split("?")[0].split("#")[0].split(".").pop().toLowerCase()]||"application/octet-stream";function c(e){let t=!1,o=null,n=null,r=()=>new Promise((r,a)=>{window.__onGCastApiAvailable=i=>{if(i){let i=window.cast.framework.CastContext.getInstance();i.setOptions({receiverApplicationId:window.chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:window.chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}),i.addEventListener(window.cast.framework.CastContextEventType.SESSION_STATE_CHANGED,t=>{let r=window.cast.framework.SessionState;switch(n=t.sessionState,o=t.session,t.sessionState){case r.NO_SESSION:e.onStateChange?.("disconnected"),s("disconnected");break;case r.SESSION_STARTING:e.onStateChange?.("connecting"),s("connecting");break;case r.SESSION_STARTED:e.onStateChange?.("connected"),s("connected");break;case r.SESSION_ENDING:e.onStateChange?.("disconnecting"),s("disconnecting");break;case r.SESSION_RESUMED:e.onStateChange?.("connected"),s("connected")}}),i.addEventListener(window.cast.framework.CastContextEventType.CAST_STATE_CHANGED,t=>{let o=window.cast.framework.CastState;switch(t.castState){case o.NO_DEVICES_AVAILABLE:e.onCastAvailable?.(!1);break;case o.NOT_CONNECTED:case o.CONNECTING:case o.CONNECTED:e.onCastAvailable?.(!0)}}),t=!0,r()}else a(Error("Cast API is not available"))},window.chrome&&window.chrome.cast||i(e.sdk||"https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(a)}),c=(t,o)=>{let n=e.url||t.option.url,r=new window.chrome.cast.media.MediaInfo(n,e.mimeType||a(n)),i=new window.chrome.cast.media.LoadRequest(r);o.loadMedia(i).then(()=>{t.notice.show="Casting started",e.onCastStart?.()}).catch(o=>{throw t.notice.show="Error casting media",e.onError?.(o),o})},s=e=>{let t=document.querySelector(".art-icon-cast");if(t)switch(e){case"connected":t.style.color="red";break;case"connecting":case"disconnecting":t.style.color="orange";break;default:t.style.color="white"}};return async i=>(i.controls.add({name:"chromecast",position:"right",tooltip:"Chromecast",html:`<i class="art-icon art-icon-cast">${e.icon||'<svg height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M512 96H64v99c-13-2-26.4-3-40-3H0V96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H288V456c0-13.6-1-27-3-40H512V96zM24 224c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 344c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24z"/></svg>'}</i>`,click:async()=>{if(!t)try{await r()}catch(t){throw i.notice.show="Failed to initialize Cast API",e.onError?.(t),t}let n=window.cast.framework.CastContext.getInstance();if(o)c(i,o);else try{let e=await n.requestSession();c(i,e)}catch(t){throw i.notice.show="Error connecting to cast session",e.onError?.(t),t}}}),{name:"artplayerPluginChromecast",getCastState:()=>n,isCasting:()=>null!==o})}"undefined"!=typeof window&&(window.artplayerPluginChromecast=c)},{"@parcel/transformer-js/src/esmodule-helpers.js":"w4pLy"}],w4pLy:[function(e,t,o,n){o.interopDefaLine truncated
|
||||
!function(e,t,o,n,r,i,a,c){var s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof s[n]&&s[n],l=d.i||{},u=d.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,o){if(!u[t]){if(!e[t]){if(r[t])return r[t];var i="function"==typeof s[n]&&s[n];if(!o&&i)return i(t,!0);if(d)return d(t,!0);if(f&&"string"==typeof t)return f(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}l.resolve=function(o){var n=e[t][1][o];return null!=n?n:o},l.cache={};var c=u[t]=new p.Module(t);e[t][0].call(c.exports,l,c,c.exports,s)}return u[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=f,this.exports={}},p.modules=e,p.cache=u,p.parent=d,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=l,p.register=function(t,o){e[t]=[function(e,t){t.exports=o},{}]},Object.defineProperty(p,"root",{get:function(){return s[n]}}),s[n]=p;for(var w=0;w<t.length;w++)p(t[w]);if(o){var m=p(o);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({cv67D:[function(e,t,o,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){let t=!1,o=null,n=null,r=e=>{let t=document.querySelector(".art-icon-cast");if(t)switch(e){case"connected":t.style.color="red";break;case"connecting":case"disconnecting":t.style.color="orange";break;default:t.style.color="white"}},i=(t,o)=>{let n=e.url||t.option.url,r=new window.chrome.cast.media.MediaInfo(n,e.mimeType||({mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",ogv:"video/ogg",mp3:"audio/mp3",wav:"audio/wav",flv:"video/x-flv",mov:"video/quicktime",avi:"video/x-msvideo",wmv:"video/x-ms-wmv",mpd:"application/dash+xml",m3u8:"application/x-mpegURL"})[n.split("?")[0].split("#")[0].split(".").pop().toLowerCase()]||"application/octet-stream"),i=new window.chrome.cast.media.LoadRequest(r);o.loadMedia(i).then(()=>{t.notice.show="Casting started",e.onCastStart?.()}).catch(o=>{throw t.notice.show="Error casting media",e.onError?.(o),o})};return async a=>(a.controls.add({name:"chromecast",position:"right",tooltip:"Chromecast",html:`<i class="art-icon art-icon-cast">${e.icon||'<svg height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M512 96H64v99c-13-2-26.4-3-40-3H0V96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H288V456c0-13.6-1-27-3-40H512V96zM24 224c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 344c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24z"/></svg>'}</i>`,click:async()=>{if(!t)try{await new Promise((i,a)=>{var c;window.__onGCastApiAvailable=c=>{if(c){let a=window.cast.framework.CastContext.getInstance();a.setOptions({receiverApplicationId:window.chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:window.chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}),a.addEventListener(window.cast.framework.CastContextEventType.SESSION_STATE_CHANGED,t=>{let i=window.cast.framework.SessionState;switch(n=t.sessionState,o=t.session,t.sessionState){case i.NO_SESSION:e.onStateChange?.("disconnected"),r("disconnected");break;case i.SESSION_STARTING:e.onStateChange?.("connecting"),r("connecting");break;case i.SESSION_STARTED:e.onStateChange?.("connected"),r("connected");break;case i.SESSION_ENDING:e.onStateChange?.("disconnecting"),r("disconnecting");break;case i.SESSION_RESUMED:e.onStateChange?.("connected"),r("connected")}}),a.addEventListener(window.cast.framework.CastContextEventType.CAST_STATE_CHANGED,t=>{let o=window.cast.framework.CastState;switch(t.castState){case o.NO_DEVICES_AVAILABLE:e.onCastAvailable?.(!1);break;case o.NOT_CONNECTED:case o.CONNECTING:case o.CONNECTED:e.onCastAvailable?.(!0)}}),t=!0,i()}else a(Error("Cast API is not available"))},window.chrome&&window.chrome.cast||(c=e.sdk||"https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",new Promise((e,t)=>{let o=document.createElement("script");o.src=c,o.onload=e,o.onerror=t,document.body.appendChild(o)})).catch(a)})}catch(t){throw a.notice.show="Failed to initialize Cast API",e.onError?.(t),t}let c=window.cast.framework.CastContext.getInstance();if(o)i(a,o);else try{let e=await c.requestSession();i(a,e)}catch(t){throw a.notice.show="Error connecting to cast session",e.onError?.(t),t}}}),{name:"artplayerPluginChromecast",getCastState:()=>n,isCasting:()=>null!==o})}r.defineInteropFlag(o),r.export(o,"default",()=>i),"undefined"!=typeof window&&(window.artplayerPluginChromecast=i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"5lQoW"}],"5lQoW":[function(e,t,o,n){o.interopDefault=function(e){returnLine truncated
|
||||
//# sourceMappingURL=artplayer-plugin-chromecast.esm.js.map
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GC4BwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GA5BxB,IAAM,EAAa,AAAC,GAChB,IAAI,QAAQ,CAAC,EAAS,KAClB,IAAM,EAAS,SAAS,aAAa,CAAC,SACtC,CAAA,EAAO,GAAG,CAAG,EACb,EAAO,MAAM,CAAG,EAChB,EAAO,OAAO,CAAG,EACjB,SAAS,IAAI,CAAC,WAAW,CAAC,EAC9B,GAEE,EAAc,AAAC,GAgBV,AAdW,CAAA,CACd,IAAK,YACL,KAAM,aACN,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,cACL,IAAK,kBACL,I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","sources":["<anon>","src/index.js","../../node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["// modules are defined as an array\n// [ module function, map of requires ]\n//\n// map of requires is short require name -> numeric require\n//\n// anything defined in a previous bundle is accessed via the\n// orig method which is the require for previous bundles\n\n(function (\n modules,\n entry,\n mainEntry,\n parcelReLine truncated
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,M,C,S,C,C,C,C,C,C,C,E,I,E,E,kDC6Be,SAAS,EAA0B,CAAM,EAItD,IAAI,EAAoB,CAAA,EACpB,EAAc,KACd,EAAY,KAEV,EAAmB,AAAC,IACxB,IAAM,EAAS,SAAS,aAAa,CAAC,kBACtC,GAAI,EACF,OAAQ,GACN,IAAK,YACH,EAAO,KAAK,CAAC,KAAK,CAAG,MACrB,KACF,KAAK,aACL,IAAK,gBACH,EAAO,KAAK,CAAC,KAAK,CAAG,SACrB,KACF,SAEE,EAAO,KAAK,CAAC,KAAK,CAAG,OAEzB,CAEJ,EA2EM,EAAY,CAAC,EAAK,KACtB,IAAM,EAAM,EAAO,GAAG,EAAI,EAAI,MAAM,CA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","sources":["<anon>","packages/artplayer-plugin-chromecast/src/index.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["// modules are defined as an array\n// [ module function, map of requires ]\n//\n// map of requires is short require name -> numeric require\n//\n// anything defined in a previous bundle is accessed via the\n// orig method which is the require for previous bundles\n\n(function (\n modules,\n entry,\n mainEntry,\n parcLine truncated
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,o,n,i,r,a,c){var s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof s[n]&&s[n],l=d.i||{},u=d.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function w(t,o){if(!u[t]){if(!e[t]){if(i[t])return i[t];var r="function"==typeof s[n]&&s[n];if(!o&&r)return r(t,!0);if(d)return d(t,!0);if(f&&"string"==typeof t)return f(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}l.resolve=function(o){var n=e[t][1][o];return null!=n?n:o},l.cache={};var c=u[t]=new w.Module(t);e[t][0].call(c.exports,l,c,c.exports,s)}return u[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:w(t)}}w.isParcelRequire=!0,w.Module=function(e){this.id=e,this.bundle=w,this.require=f,this.exports={}},w.modules=e,w.cache=u,w.parent=d,w.distDir=void 0,w.publicUrl=void 0,w.devServer=void 0,w.i=l,w.register=function(t,o){e[t]=[function(e,t){t.exports=o},{}]},Object.defineProperty(w,"root",{get:function(){return s[n]}}),s[n]=w;for(var p=0;p<t.length;p++)w(t[p]);if(o){var m=w(o);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({jz4E5:[function(e,t,o,n){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(o),i.export(o,"default",()=>c);let r=e=>new Promise((t,o)=>{let n=document.createElement("script");n.src=e,n.onload=t,n.onerror=o,document.body.appendChild(n)}),a=e=>({mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",ogv:"video/ogg",mp3:"audio/mp3",wav:"audio/wav",flv:"video/x-flv",mov:"video/quicktime",avi:"video/x-msvideo",wmv:"video/x-ms-wmv",mpd:"application/dash+xml",m3u8:"application/x-mpegURL"})[e.split("?")[0].split("#")[0].split(".").pop().toLowerCase()]||"application/octet-stream";function c(e){let t=!1,o=null,n=null,i=()=>new Promise((i,a)=>{window.__onGCastApiAvailable=r=>{if(r){let r=window.cast.framework.CastContext.getInstance();r.setOptions({receiverApplicationId:window.chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:window.chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}),r.addEventListener(window.cast.framework.CastContextEventType.SESSION_STATE_CHANGED,t=>{let i=window.cast.framework.SessionState;switch(n=t.sessionState,o=t.session,t.sessionState){case i.NO_SESSION:e.onStateChange?.("disconnected"),s("disconnected");break;case i.SESSION_STARTING:e.onStateChange?.("connecting"),s("connecting");break;case i.SESSION_STARTED:e.onStateChange?.("connected"),s("connected");break;case i.SESSION_ENDING:e.onStateChange?.("disconnecting"),s("disconnecting");break;case i.SESSION_RESUMED:e.onStateChange?.("connected"),s("connected")}}),r.addEventListener(window.cast.framework.CastContextEventType.CAST_STATE_CHANGED,t=>{let o=window.cast.framework.CastState;switch(t.castState){case o.NO_DEVICES_AVAILABLE:e.onCastAvailable?.(!1);break;case o.NOT_CONNECTED:case o.CONNECTING:case o.CONNECTED:e.onCastAvailable?.(!0)}}),t=!0,i()}else a(Error("Cast API is not available"))},window.chrome&&window.chrome.cast||r(e.sdk||"https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(a)}),c=(t,o)=>{let n=e.url||t.option.url,i=new window.chrome.cast.media.MediaInfo(n,e.mimeType||a(n)),r=new window.chrome.cast.media.LoadRequest(i);o.loadMedia(r).then(()=>{t.notice.show="Casting started",e.onCastStart?.()}).catch(o=>{throw t.notice.show="Error casting media",e.onError?.(o),o})},s=e=>{let t=document.querySelector(".art-icon-cast");if(t)switch(e){case"connected":t.style.color="red";break;case"connecting":case"disconnecting":t.style.color="orange";break;default:t.style.color="white"}};return async r=>(r.controls.add({name:"chromecast",position:"right",tooltip:"Chromecast",html:`<i class="art-icon art-icon-cast">${e.icon||'<svg height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M512 96H64v99c-13-2-26.4-3-40-3H0V96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H288V456c0-13.6-1-27-3-40H512V96zM24 224c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 344c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24z"/></svg>'}</i>`,click:async()=>{if(!t)try{await i()}catch(t){throw r.notice.show="Failed to initialize Cast API",e.onError?.(t),t}let n=window.cast.framework.CastContext.getInstance();if(o)c(r,o);else try{let e=await n.requestSession();c(r,e)}catch(t){throw r.notice.show="Error connecting to cast session",e.onError?.(t),t}}}),{name:"artplayerPluginChromecast",getCastState:()=>n,isCasting:()=>null!==o})}"undefined"!=typeof window&&(window.artplayerPluginChromecast=c)},{"@parcel/transformer-js/src/esmodule-helpers.js":"7o2zS"}],"7o2zS":[function(e,t,o,n){o.interopDefaLine truncated
|
||||
!function(e,t,o,n,r,i,a,c){var s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof s[n]&&s[n],l=d.i||{},u=d.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function w(t,o){if(!u[t]){if(!e[t]){if(r[t])return r[t];var i="function"==typeof s[n]&&s[n];if(!o&&i)return i(t,!0);if(d)return d(t,!0);if(f&&"string"==typeof t)return f(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}l.resolve=function(o){var n=e[t][1][o];return null!=n?n:o},l.cache={};var c=u[t]=new w.Module(t);e[t][0].call(c.exports,l,c,c.exports,s)}return u[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:w(t)}}w.isParcelRequire=!0,w.Module=function(e){this.id=e,this.bundle=w,this.require=f,this.exports={}},w.modules=e,w.cache=u,w.parent=d,w.distDir=void 0,w.publicUrl=void 0,w.devServer=void 0,w.i=l,w.register=function(t,o){e[t]=[function(e,t){t.exports=o},{}]},Object.defineProperty(w,"root",{get:function(){return s[n]}}),s[n]=w;for(var p=0;p<t.length;p++)w(t[p]);if(o){var m=w(o);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({"18Aaf":[function(e,t,o,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){let t=!1,o=null,n=null,r=e=>{let t=document.querySelector(".art-icon-cast");if(t)switch(e){case"connected":t.style.color="red";break;case"connecting":case"disconnecting":t.style.color="orange";break;default:t.style.color="white"}},i=(t,o)=>{let n=e.url||t.option.url,r=new window.chrome.cast.media.MediaInfo(n,e.mimeType||({mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",ogv:"video/ogg",mp3:"audio/mp3",wav:"audio/wav",flv:"video/x-flv",mov:"video/quicktime",avi:"video/x-msvideo",wmv:"video/x-ms-wmv",mpd:"application/dash+xml",m3u8:"application/x-mpegURL"})[n.split("?")[0].split("#")[0].split(".").pop().toLowerCase()]||"application/octet-stream"),i=new window.chrome.cast.media.LoadRequest(r);o.loadMedia(i).then(()=>{t.notice.show="Casting started",e.onCastStart?.()}).catch(o=>{throw t.notice.show="Error casting media",e.onError?.(o),o})};return async a=>(a.controls.add({name:"chromecast",position:"right",tooltip:"Chromecast",html:`<i class="art-icon art-icon-cast">${e.icon||'<svg height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M512 96H64v99c-13-2-26.4-3-40-3H0V96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H288V456c0-13.6-1-27-3-40H512V96zM24 224c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 344c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24z"/></svg>'}</i>`,click:async()=>{if(!t)try{await new Promise((i,a)=>{var c;window.__onGCastApiAvailable=c=>{if(c){let a=window.cast.framework.CastContext.getInstance();a.setOptions({receiverApplicationId:window.chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:window.chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}),a.addEventListener(window.cast.framework.CastContextEventType.SESSION_STATE_CHANGED,t=>{let i=window.cast.framework.SessionState;switch(n=t.sessionState,o=t.session,t.sessionState){case i.NO_SESSION:e.onStateChange?.("disconnected"),r("disconnected");break;case i.SESSION_STARTING:e.onStateChange?.("connecting"),r("connecting");break;case i.SESSION_STARTED:e.onStateChange?.("connected"),r("connected");break;case i.SESSION_ENDING:e.onStateChange?.("disconnecting"),r("disconnecting");break;case i.SESSION_RESUMED:e.onStateChange?.("connected"),r("connected")}}),a.addEventListener(window.cast.framework.CastContextEventType.CAST_STATE_CHANGED,t=>{let o=window.cast.framework.CastState;switch(t.castState){case o.NO_DEVICES_AVAILABLE:e.onCastAvailable?.(!1);break;case o.NOT_CONNECTED:case o.CONNECTING:case o.CONNECTED:e.onCastAvailable?.(!0)}}),t=!0,i()}else a(Error("Cast API is not available"))},window.chrome&&window.chrome.cast||(c=e.sdk||"https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",new Promise((e,t)=>{let o=document.createElement("script");o.src=c,o.onload=e,o.onerror=t,document.body.appendChild(o)})).catch(a)})}catch(t){throw a.notice.show="Failed to initialize Cast API",e.onError?.(t),t}let c=window.cast.framework.CastContext.getInstance();if(o)i(a,o);else try{let e=await c.requestSession();i(a,e)}catch(t){throw a.notice.show="Error connecting to cast session",e.onError?.(t),t}}}),{name:"artplayerPluginChromecast",getCastState:()=>n,isCasting:()=>null!==o})}r.defineInteropFlag(o),r.export(o,"default",()=>i),"undefined"!=typeof window&&(window.artplayerPluginChromecast=i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"6ykb1"}],"6ykb1":[function(e,t,o,n){o.interopDefault=function(e){retuLine truncated
|
||||
+1
-1
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,n,o,i,a,c){var s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof s[n]&&s[n],l=u.i||{},f=u.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,r){if(!f[t]){if(!e[t]){if(o[t])return o[t];var i="function"==typeof s[n]&&s[n];if(!r&&i)return i(t,!0);if(u)return u(t,!0);if(p&&"string"==typeof t)return p(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}l.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},l.cache={};var c=f[t]=new d.Module(t);e[t][0].call(c.exports,l,c,c.exports,s)}return f[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.require=p,this.exports={}},d.modules=e,d.cache=f,d.parent=u,d.distDir=void 0,d.publicUrl=void 0,d.devServer=void 0,d.i=l,d.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(d,"root",{get:function(){return s[n]}}),s[n]=d;for(var _=0;_<t.length;_++)d(t[_]);if(r){var y=d(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=y:"function"==typeof define&&define.amd&&define(function(){return y})}}({bzF6W:[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",function(){return c});var i=e("@swc/helpers/cjs/_async_to_generator.cjs"),a=e("@swc/helpers/cjs/_ts_generator.cjs");function c(e){var t,r=!1,n=null,o=null,c=function(t,r){var n=e.url||t.option.url,o=new window.chrome.cast.media.MediaInfo(n,e.mimeType||({mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",ogv:"video/ogg",mp3:"audio/mp3",wav:"audio/wav",flv:"video/x-flv",mov:"video/quicktime",avi:"video/x-msvideo",wmv:"video/x-ms-wmv",mpd:"application/dash+xml",m3u8:"application/x-mpegURL"})[n.split("?")[0].split("#")[0].split(".").pop().toLowerCase()]||"application/octet-stream"),i=new window.chrome.cast.media.LoadRequest(o);r.loadMedia(i).then(function(){var r;t.notice.show="Casting started",null==(r=e.onCastStart)||r.call(e)}).catch(function(r){var n;throw t.notice.show="Error casting media",null==(n=e.onError)||n.call(e,r),r})},s=function(e){var t=document.querySelector(".art-icon-cast");if(t)switch(e){case"connected":t.style.color="red";break;case"connecting":case"disconnecting":t.style.color="orange";break;default:t.style.color="white"}};return t=(0,i._)(function(t){return(0,a._)(this,function(u){return t.controls.add({name:"chromecast",position:"right",tooltip:"Chromecast",html:'<i class="art-icon art-icon-cast">'.concat(e.icon||'<svg height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M512 96H64v99c-13-2-26.4-3-40-3H0V96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H288V456c0-13.6-1-27-3-40H512V96zM24 224c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 344c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24z"/></svg>',"</i>"),click:(0,i._)(function(){var i,u,l,f,p;return(0,a._)(this,function(a){switch(a.label){case 0:if(r)return[3,4];a.label=1;case 1:return a.trys.push([1,3,,4]),[4,new Promise(function(t,i){var a;window.__onGCastApiAvailable=function(a){if(a){var c=window.cast.framework.CastContext.getInstance();c.setOptions({receiverApplicationId:window.chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:window.chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}),c.addEventListener(window.cast.framework.CastContextEventType.SESSION_STATE_CHANGED,function(t){var r,i,a,c,u,l=window.cast.framework.SessionState;switch(o=t.sessionState,n=t.session,t.sessionState){case l.NO_SESSION:null==(r=e.onStateChange)||r.call(e,"disconnected"),s("disconnected");break;case l.SESSION_STARTING:null==(i=e.onStateChange)||i.call(e,"connecting"),s("connecting");break;case l.SESSION_STARTED:null==(a=e.onStateChange)||a.call(e,"connected"),s("connected");break;case l.SESSION_ENDING:null==(c=e.onStateChange)||c.call(e,"disconnecting"),s("disconnecting");break;case l.SESSION_RESUMED:null==(u=e.onStateChange)||u.call(e,"connected"),s("connected")}}),c.addEventListener(window.cast.framework.CastContextEventType.CAST_STATE_CHANGED,function(t){var r,n,o,i=window.cast.framework.CastState;switch(t.castState){case i.NO_DEVICES_AVAILABLE:null==(r=e.onCastAvailable)||r.call(e,!1);break;case i.NOT_CONNECTED:null==(n=e.onCastAvailable)||n.call(e,!0);break;case i.CONNECTING:case i.CONNECTED:null==(o=e.onCastAvailable)||o.call(e,!0)}}),r=!0,t()}else i(Error("Cast API is not available"))},window.chrome&&window.chrome.cast||(a=e.sdk||"https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",new Promise(function(e,t){var r=document.createElement("script");r.src=a,r.onload=eLine truncated
|
||||
!function(e,t,r,n,o,i,c,a){var s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof s[n]&&s[n],l=u.i||{},f=u.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,r){if(!f[t]){if(!e[t]){if(o[t])return o[t];var i="function"==typeof s[n]&&s[n];if(!r&&i)return i(t,!0);if(u)return u(t,!0);if(p&&"string"==typeof t)return p(t);var c=Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}l.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},l.cache={};var a=f[t]=new d.Module(t);e[t][0].call(a.exports,l,a,a.exports,s)}return f[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.require=p,this.exports={}},d.modules=e,d.cache=f,d.parent=u,d.distDir=void 0,d.publicUrl=void 0,d.devServer=void 0,d.i=l,d.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(d,"root",{get:function(){return s[n]}}),s[n]=d;for(var _=0;_<t.length;_++)d(t[_]);if(r){var y=d(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=y:"function"==typeof define&&define.amd&&define(function(){return y})}}({"1xnGs":[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",function(){return a});var i=e("@swc/helpers/cjs/_async_to_generator.cjs"),c=e("@swc/helpers/cjs/_ts_generator.cjs");function a(e){var t=!1,r=null,n=null,o=function(e){var t=document.querySelector(".art-icon-cast");if(t)switch(e){case"connected":t.style.color="red";break;case"connecting":case"disconnecting":t.style.color="orange";break;default:t.style.color="white"}},a=function(t,r){var n=e.url||t.option.url,o=new window.chrome.cast.media.MediaInfo(n,e.mimeType||({mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",ogv:"video/ogg",mp3:"audio/mp3",wav:"audio/wav",flv:"video/x-flv",mov:"video/quicktime",avi:"video/x-msvideo",wmv:"video/x-ms-wmv",mpd:"application/dash+xml",m3u8:"application/x-mpegURL"})[n.split("?")[0].split("#")[0].split(".").pop().toLowerCase()]||"application/octet-stream"),i=new window.chrome.cast.media.LoadRequest(o);r.loadMedia(i).then(function(){var r;t.notice.show="Casting started",null==(r=e.onCastStart)||r.call(e)}).catch(function(r){var n;throw t.notice.show="Error casting media",null==(n=e.onError)||n.call(e,r),r})};return function(s){return(0,i._)(function(){return(0,c._)(this,function(u){return s.controls.add({name:"chromecast",position:"right",tooltip:"Chromecast",html:'<i class="art-icon art-icon-cast">'.concat(e.icon||'<svg height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M512 96H64v99c-13-2-26.4-3-40-3H0V96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H288V456c0-13.6-1-27-3-40H512V96zM24 224c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 344c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24z"/></svg>',"</i>"),click:function(){return(0,i._)(function(){var i,u,l,f,p;return(0,c._)(this,function(c){switch(c.label){case 0:if(t)return[3,4];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,new Promise(function(i,c){var a;window.__onGCastApiAvailable=function(a){if(a){var s=window.cast.framework.CastContext.getInstance();s.setOptions({receiverApplicationId:window.chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:window.chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}),s.addEventListener(window.cast.framework.CastContextEventType.SESSION_STATE_CHANGED,function(t){var i,c,a,s,u,l=window.cast.framework.SessionState;switch(n=t.sessionState,r=t.session,t.sessionState){case l.NO_SESSION:null==(i=e.onStateChange)||i.call(e,"disconnected"),o("disconnected");break;case l.SESSION_STARTING:null==(c=e.onStateChange)||c.call(e,"connecting"),o("connecting");break;case l.SESSION_STARTED:null==(a=e.onStateChange)||a.call(e,"connected"),o("connected");break;case l.SESSION_ENDING:null==(s=e.onStateChange)||s.call(e,"disconnecting"),o("disconnecting");break;case l.SESSION_RESUMED:null==(u=e.onStateChange)||u.call(e,"connected"),o("connected")}}),s.addEventListener(window.cast.framework.CastContextEventType.CAST_STATE_CHANGED,function(t){var r,n,o,i=window.cast.framework.CastState;switch(t.castState){case i.NO_DEVICES_AVAILABLE:null==(r=e.onCastAvailable)||r.call(e,!1);break;case i.NOT_CONNECTED:null==(n=e.onCastAvailable)||n.call(e,!0);break;case i.CONNECTING:case i.CONNECTED:null==(o=e.onCastAvailable)||o.call(e,!0)}}),t=!0,i()}else c(Error("Cast API is not available"))},window.chrome&&window.chrome.cast||(a=e.sdk||"https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",new Promise(function(e,t){var r=document.createElemLine truncated
|
||||
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"license": "MIT",
|
||||
"version": "1.0.1",
|
||||
"name": "artplayer-plugin-chromecast",
|
||||
"description": "Chromecast plugin for ArtPlayer",
|
||||
"main": "dist/artplayer-plugin-chromecast.js",
|
||||
"legacy": "dist/artplayer-plugin-chromecast.legacy.js",
|
||||
"module": "dist/artplayer-plugin-chromecast.esm.js",
|
||||
"types": "types/artplayer-plugin-chromecast.d.ts",
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-chromecast.esm.js",
|
||||
"require": "./dist/artplayer-plugin-chromecast.js",
|
||||
"default": "./dist/artplayer-plugin-chromecast.js"
|
||||
},
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
]
|
||||
"name": "artplayer-plugin-chromecast",
|
||||
"version": "1.0.1",
|
||||
"description": "Chromecast plugin for ArtPlayer",
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"license": "MIT",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-chromecast.esm.js",
|
||||
"require": "./dist/artplayer-plugin-chromecast.js",
|
||||
"default": "./dist/artplayer-plugin-chromecast.js"
|
||||
},
|
||||
"main": "dist/artplayer-plugin-chromecast.js",
|
||||
"legacy": "dist/artplayer-plugin-chromecast.legacy.js",
|
||||
"module": "dist/artplayer-plugin-chromecast.esm.js",
|
||||
"types": "types/artplayer-plugin-chromecast.d.ts",
|
||||
"browserslist": "last 1 Chrome version"
|
||||
}
|
||||
@@ -1,188 +1,193 @@
|
||||
const loadScript = (src) =>
|
||||
new Promise((resolve, reject) => {
|
||||
const script = document.createElement('script');
|
||||
script.src = src;
|
||||
script.onload = resolve;
|
||||
script.onerror = reject;
|
||||
document.body.appendChild(script);
|
||||
});
|
||||
function loadScript(src) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const script = document.createElement('script')
|
||||
script.src = src
|
||||
script.onload = resolve
|
||||
script.onerror = reject
|
||||
document.body.appendChild(script)
|
||||
})
|
||||
}
|
||||
|
||||
const getMimeType = (url) => {
|
||||
const extension = url.split('?')[0].split('#')[0].split('.').pop().toLowerCase();
|
||||
const mimeTypes = {
|
||||
mp4: 'video/mp4',
|
||||
webm: 'video/webm',
|
||||
ogg: 'video/ogg',
|
||||
ogv: 'video/ogg',
|
||||
mp3: 'audio/mp3',
|
||||
wav: 'audio/wav',
|
||||
flv: 'video/x-flv',
|
||||
mov: 'video/quicktime',
|
||||
avi: 'video/x-msvideo',
|
||||
wmv: 'video/x-ms-wmv',
|
||||
mpd: 'application/dash+xml',
|
||||
m3u8: 'application/x-mpegURL',
|
||||
};
|
||||
return mimeTypes[extension] || 'application/octet-stream';
|
||||
};
|
||||
function getMimeType(url) {
|
||||
const extension = url.split('?')[0].split('#')[0].split('.').pop().toLowerCase()
|
||||
const mimeTypes = {
|
||||
mp4: 'video/mp4',
|
||||
webm: 'video/webm',
|
||||
ogg: 'video/ogg',
|
||||
ogv: 'video/ogg',
|
||||
mp3: 'audio/mp3',
|
||||
wav: 'audio/wav',
|
||||
flv: 'video/x-flv',
|
||||
mov: 'video/quicktime',
|
||||
avi: 'video/x-msvideo',
|
||||
wmv: 'video/x-ms-wmv',
|
||||
mpd: 'application/dash+xml',
|
||||
m3u8: 'application/x-mpegURL',
|
||||
}
|
||||
return mimeTypes[extension] || 'application/octet-stream'
|
||||
}
|
||||
|
||||
export default function artplayerPluginChromecast(option) {
|
||||
const DEFAULT_ICON = `<svg height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M512 96H64v99c-13-2-26.4-3-40-3H0V96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H288V456c0-13.6-1-27-3-40H512V96zM24 224c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 344c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24z"/></svg>`;
|
||||
const DEFAULT_SDK = 'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1';
|
||||
const DEFAULT_ICON = `<svg height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M512 96H64v99c-13-2-26.4-3-40-3H0V96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H288V456c0-13.6-1-27-3-40H512V96zM24 224c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 344c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24z"/></svg>`
|
||||
const DEFAULT_SDK = 'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1'
|
||||
|
||||
let isCastInitialized = false;
|
||||
let castSession = null;
|
||||
let castState = null;
|
||||
let isCastInitialized = false
|
||||
let castSession = null
|
||||
let castState = null
|
||||
|
||||
const initializeCastApi = () => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window['__onGCastApiAvailable'] = (isAvailable) => {
|
||||
if (isAvailable) {
|
||||
const context = window.cast.framework.CastContext.getInstance();
|
||||
context.setOptions({
|
||||
receiverApplicationId: window.chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,
|
||||
autoJoinPolicy: window.chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,
|
||||
});
|
||||
const updateCastButton = (state) => {
|
||||
const button = document.querySelector('.art-icon-cast')
|
||||
if (button) {
|
||||
switch (state) {
|
||||
case 'connected':
|
||||
button.style.color = 'red'
|
||||
break
|
||||
case 'connecting':
|
||||
case 'disconnecting':
|
||||
button.style.color = 'orange'
|
||||
break
|
||||
case 'disconnected':
|
||||
default:
|
||||
button.style.color = 'white'
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Listen for session state changes
|
||||
context.addEventListener(
|
||||
window.cast.framework.CastContextEventType.SESSION_STATE_CHANGED,
|
||||
(event) => {
|
||||
const SessionState = window.cast.framework.SessionState;
|
||||
castState = event.sessionState;
|
||||
castSession = event.session;
|
||||
const initializeCastApi = () => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.__onGCastApiAvailable = (isAvailable) => {
|
||||
if (isAvailable) {
|
||||
const context = window.cast.framework.CastContext.getInstance()
|
||||
context.setOptions({
|
||||
receiverApplicationId: window.chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,
|
||||
autoJoinPolicy: window.chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,
|
||||
})
|
||||
|
||||
switch (event.sessionState) {
|
||||
case SessionState.NO_SESSION:
|
||||
option.onStateChange?.('disconnected');
|
||||
updateCastButton('disconnected');
|
||||
break;
|
||||
case SessionState.SESSION_STARTING:
|
||||
option.onStateChange?.('connecting');
|
||||
updateCastButton('connecting');
|
||||
break;
|
||||
case SessionState.SESSION_STARTED:
|
||||
option.onStateChange?.('connected');
|
||||
updateCastButton('connected');
|
||||
break;
|
||||
case SessionState.SESSION_ENDING:
|
||||
option.onStateChange?.('disconnecting');
|
||||
updateCastButton('disconnecting');
|
||||
break;
|
||||
case SessionState.SESSION_RESUMED:
|
||||
option.onStateChange?.('connected');
|
||||
updateCastButton('connected');
|
||||
break;
|
||||
}
|
||||
},
|
||||
);
|
||||
// Listen for session state changes
|
||||
context.addEventListener(
|
||||
window.cast.framework.CastContextEventType.SESSION_STATE_CHANGED,
|
||||
(event) => {
|
||||
const SessionState = window.cast.framework.SessionState
|
||||
castState = event.sessionState
|
||||
castSession = event.session
|
||||
|
||||
// Listen for cast state changes
|
||||
context.addEventListener(window.cast.framework.CastContextEventType.CAST_STATE_CHANGED, (event) => {
|
||||
const CastState = window.cast.framework.CastState;
|
||||
switch (event.castState) {
|
||||
case CastState.NO_DEVICES_AVAILABLE:
|
||||
option.onCastAvailable?.(false);
|
||||
break;
|
||||
case CastState.NOT_CONNECTED:
|
||||
option.onCastAvailable?.(true);
|
||||
break;
|
||||
case CastState.CONNECTING:
|
||||
case CastState.CONNECTED:
|
||||
option.onCastAvailable?.(true);
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
isCastInitialized = true;
|
||||
resolve();
|
||||
} else {
|
||||
reject(new Error('Cast API is not available'));
|
||||
}
|
||||
};
|
||||
if (!window.chrome || !window.chrome.cast) {
|
||||
loadScript(option.sdk || DEFAULT_SDK).catch(reject);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const castVideo = (art, session) => {
|
||||
const url = option.url || art.option.url;
|
||||
const mediaInfo = new window.chrome.cast.media.MediaInfo(url, option.mimeType || getMimeType(url));
|
||||
const request = new window.chrome.cast.media.LoadRequest(mediaInfo);
|
||||
session
|
||||
.loadMedia(request)
|
||||
.then(() => {
|
||||
art.notice.show = 'Casting started';
|
||||
option.onCastStart?.();
|
||||
})
|
||||
.catch((error) => {
|
||||
art.notice.show = 'Error casting media';
|
||||
option.onError?.(error);
|
||||
throw error;
|
||||
});
|
||||
};
|
||||
|
||||
const updateCastButton = (state) => {
|
||||
const button = document.querySelector('.art-icon-cast');
|
||||
if (button) {
|
||||
switch (state) {
|
||||
case 'connected':
|
||||
button.style.color = 'red';
|
||||
break;
|
||||
case 'connecting':
|
||||
case 'disconnecting':
|
||||
button.style.color = 'orange';
|
||||
break;
|
||||
case 'disconnected':
|
||||
default:
|
||||
button.style.color = 'white';
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return async (art) => {
|
||||
art.controls.add({
|
||||
name: 'chromecast',
|
||||
position: 'right',
|
||||
tooltip: 'Chromecast',
|
||||
html: `<i class="art-icon art-icon-cast">${option.icon || DEFAULT_ICON}</i>`,
|
||||
click: async () => {
|
||||
if (!isCastInitialized) {
|
||||
try {
|
||||
await initializeCastApi();
|
||||
} catch (error) {
|
||||
art.notice.show = 'Failed to initialize Cast API';
|
||||
option.onError?.(error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
const context = window.cast.framework.CastContext.getInstance();
|
||||
if (castSession) {
|
||||
castVideo(art, castSession);
|
||||
} else {
|
||||
try {
|
||||
const session = await context.requestSession();
|
||||
castVideo(art, session);
|
||||
} catch (error) {
|
||||
art.notice.show = 'Error connecting to cast session';
|
||||
option.onError?.(error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
switch (event.sessionState) {
|
||||
case SessionState.NO_SESSION:
|
||||
option.onStateChange?.('disconnected')
|
||||
updateCastButton('disconnected')
|
||||
break
|
||||
case SessionState.SESSION_STARTING:
|
||||
option.onStateChange?.('connecting')
|
||||
updateCastButton('connecting')
|
||||
break
|
||||
case SessionState.SESSION_STARTED:
|
||||
option.onStateChange?.('connected')
|
||||
updateCastButton('connected')
|
||||
break
|
||||
case SessionState.SESSION_ENDING:
|
||||
option.onStateChange?.('disconnecting')
|
||||
updateCastButton('disconnecting')
|
||||
break
|
||||
case SessionState.SESSION_RESUMED:
|
||||
option.onStateChange?.('connected')
|
||||
updateCastButton('connected')
|
||||
break
|
||||
}
|
||||
},
|
||||
});
|
||||
)
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginChromecast',
|
||||
getCastState: () => castState,
|
||||
isCasting: () => castSession !== null,
|
||||
};
|
||||
};
|
||||
// Listen for cast state changes
|
||||
context.addEventListener(window.cast.framework.CastContextEventType.CAST_STATE_CHANGED, (event) => {
|
||||
const CastState = window.cast.framework.CastState
|
||||
switch (event.castState) {
|
||||
case CastState.NO_DEVICES_AVAILABLE:
|
||||
option.onCastAvailable?.(false)
|
||||
break
|
||||
case CastState.NOT_CONNECTED:
|
||||
option.onCastAvailable?.(true)
|
||||
break
|
||||
case CastState.CONNECTING:
|
||||
case CastState.CONNECTED:
|
||||
option.onCastAvailable?.(true)
|
||||
break
|
||||
}
|
||||
})
|
||||
|
||||
isCastInitialized = true
|
||||
resolve()
|
||||
}
|
||||
else {
|
||||
reject(new Error('Cast API is not available'))
|
||||
}
|
||||
}
|
||||
if (!window.chrome || !window.chrome.cast) {
|
||||
loadScript(option.sdk || DEFAULT_SDK).catch(reject)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const castVideo = (art, session) => {
|
||||
const url = option.url || art.option.url
|
||||
const mediaInfo = new window.chrome.cast.media.MediaInfo(url, option.mimeType || getMimeType(url))
|
||||
const request = new window.chrome.cast.media.LoadRequest(mediaInfo)
|
||||
session
|
||||
.loadMedia(request)
|
||||
.then(() => {
|
||||
art.notice.show = 'Casting started'
|
||||
option.onCastStart?.()
|
||||
})
|
||||
.catch((error) => {
|
||||
art.notice.show = 'Error casting media'
|
||||
option.onError?.(error)
|
||||
throw error
|
||||
})
|
||||
}
|
||||
|
||||
return async (art) => {
|
||||
art.controls.add({
|
||||
name: 'chromecast',
|
||||
position: 'right',
|
||||
tooltip: 'Chromecast',
|
||||
html: `<i class="art-icon art-icon-cast">${option.icon || DEFAULT_ICON}</i>`,
|
||||
click: async () => {
|
||||
if (!isCastInitialized) {
|
||||
try {
|
||||
await initializeCastApi()
|
||||
}
|
||||
catch (error) {
|
||||
art.notice.show = 'Failed to initialize Cast API'
|
||||
option.onError?.(error)
|
||||
throw error
|
||||
}
|
||||
}
|
||||
|
||||
const context = window.cast.framework.CastContext.getInstance()
|
||||
if (castSession) {
|
||||
castVideo(art, castSession)
|
||||
}
|
||||
else {
|
||||
try {
|
||||
const session = await context.requestSession()
|
||||
castVideo(art, session)
|
||||
}
|
||||
catch (error) {
|
||||
art.notice.show = 'Error connecting to cast session'
|
||||
option.onError?.(error)
|
||||
throw error
|
||||
}
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginChromecast',
|
||||
getCastState: () => castState,
|
||||
isCasting: () => castSession !== null,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window['artplayerPluginChromecast'] = artplayerPluginChromecast;
|
||||
window.artplayerPluginChromecast = artplayerPluginChromecast
|
||||
}
|
||||
+12
-12
@@ -1,17 +1,17 @@
|
||||
import type Artplayer from 'artplayer';
|
||||
import type Artplayer from 'artplayer'
|
||||
|
||||
export = artplayerPluginChromecast;
|
||||
export = artplayerPluginChromecast
|
||||
export as namespace artplayerPluginChromecast;
|
||||
|
||||
type Option = {
|
||||
url?: string;
|
||||
sdk?: string;
|
||||
icon?: string;
|
||||
mimeType?: string;
|
||||
};
|
||||
interface Option {
|
||||
url?: string
|
||||
sdk?: string
|
||||
icon?: string
|
||||
mimeType?: string
|
||||
}
|
||||
|
||||
type Chromecast = {
|
||||
name: 'artplayerPluginChromecast';
|
||||
};
|
||||
interface Chromecast {
|
||||
name: 'artplayerPluginChromecast'
|
||||
}
|
||||
|
||||
declare const artplayerPluginChromecast: (option: Option) => (art: Artplayer) => Chromecast;
|
||||
declare const artplayerPluginChromecast: (option: Option) => (art: Artplayer) => Chromecast
|
||||
+1
-1
@@ -5,5 +5,5 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,n,s,a,o,l){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},p="function"==typeof i[n]&&i[n],u=p.i||{},c=p.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!c[t]){if(!e[t]){if(s[t])return s[t];var a="function"==typeof i[n]&&i[n];if(!r&&a)return a(t,!0);if(p)return p(t,!0);if(d&&"string"==typeof t)return d(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}u.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},u.cache={};var l=c[t]=new f.Module(t);e[t][0].call(l.exports,u,l,l.exports,i)}return c[t].exports;function u(e){var t=u.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=d,this.exports={}},f.modules=e,f.cache=c,f.parent=p,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=u,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return i[n]}}),i[n]=f;for(var m=0;m<t.length;m++)f(t[m]);if(r){var h=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({"4omrA":[function(e,t,r,n){var s=e("@parcel/transformer-js/src/esmodule-helpers.js");s.defineInteropFlag(r),s.export(r,"default",()=>l);var a=e("@tensorflow/tfjs-core");e("@tensorflow/tfjs-backend-webgl"),e("@tensorflow/tfjs-backend-cpu");var o=e("@tensorflow-models/body-segmentation");function l(e={}){return t=>{let{template:{$video:r,$danmuku:n}}=t,s=null,l=null,i=null,p=null,u=!1,c={solutionPath:e.solutionPath||"https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation",modelSelection:e.modelSelection||1,smoothSegmentation:void 0===e.smoothSegmentation||e.smoothSegmentation,minDetectionConfidence:e.minDetectionConfidence||.5,minTrackingConfidence:e.minTrackingConfidence||.5,selfieMode:e.selfieMode||!1,drawContour:e.drawContour||!1,foregroundThreshold:e.foregroundThreshold||.5,opacity:e.opacity||1,maskBlurAmount:e.maskBlurAmount||3};async function d(){try{await a.setBackend("webgl")}catch(e){console.warn("WebGL backend not available, falling back to CPU"),await a.setBackend("cpu")}}async function f(){await d();let e=o.SupportedModels.MediaPipeSelfieSegmentation,t={runtime:"mediapipe",modelType:"general",solutionPath:c.solutionPath,modelSelection:c.modelSelection,smoothSegmentation:c.smoothSegmentation,minDetectionConfidence:c.minDetectionConfidence,minTrackingConfidence:c.minTrackingConfidence,selfieMode:c.selfieMode};try{s=await o.createSegmenter(e,t),console.log("Segmenter initialized:",s),u=!0}catch(e){console.error("Error initializing segmenter:",e),u=!1}}async function m(){if(!u||r.paused||r.ended){p=requestAnimationFrame(m);return}try{l.width=r.videoWidth,l.height=r.videoHeight;let e=await s.segmentPeople(r);if(!e||0===e.length){p=requestAnimationFrame(m);return}let t=await o.toBinaryMask(e,{r:255,g:255,b:255,a:255},{r:0,g:0,b:0,a:255},c.drawContour,c.foregroundThreshold);await o.drawMask(l,r,t,c.opacity,c.maskBlurAmount);let a=i.getImageData(0,0,l.width,l.height);i.putImageData(function(e){let t=e.data;for(let e=0;e<t.length;e+=4)t[e]>250&&t[e+1]>250&&t[e+2]>250&&(t[e+3]=0);return e}(a),0,0),n.style.maskImage=`url(${l.toDataURL()})`}catch(e){console.error("Error in segmentBody:",e)}p=requestAnimationFrame(m)}async function h(){u||await f(),l||(i=(l=document.createElement("canvas")).getContext("2d")),Object.assign(n.style,{maskMode:"alpha",maskSize:"contain",maskRepeat:"no-repeat",backgroundSize:"contain",backgroundRepeat:"no-repeat"}),m()}function g(){n.style.maskImage="none",p&&(cancelAnimationFrame(p),p=null)}return t.on("ready",h),t.on("destroy",g),{name:"artplayerPluginDanmukuMask",start:h,stop:g}}}"undefined"!=typeof window&&(window.artplayerPluginDanmukuMask=l)},{"@tensorflow/tfjs-core":"1yKDM","@tensorflow/tfjs-backend-webgl":"5VdQ3","@tensorflow/tfjs-backend-cpu":"7Tpr3","@tensorflow-models/body-segmentation":"ehGbm","@parcel/transformer-js/src/esmodule-helpers.js":"w4pLy"}],"1yKDM":[function(e,t,r,n){var s=e("@parcel/transformer-js/src/esmodule-helpers.js");s.defineInteropFlag(r),e("./base_side_effects");var a=e("./optimizers/register_optimizers"),o=e("./base");s.exportAll(o,r),(0,a.registerOptimizers)()},{"./base_side_effects":"kHuGE","./optimizers/register_optimizers":"5pGXp","./base":"1T9Pk","@parcel/transformer-js/src/esmodule-helpers.js":"w4pLy"}],kHuGE:[function(e,t,r,n){var s=e("./engine");e("./flags"),e("./platforms/platform_browser"),e("./platforms/platform_node");var a=e("./ops/buffer"),o=e("./ops/cast"),l=e("./ops/clone"),i=e("./ops/print"),p=e("./tensor");(0,s.getOrMakeEngine)();let u={buffer:a.buffer,cast:o.cast,clone:l.clone,print:i.print};(0,p.setOpHandler)(u)},{"./engine":"3Kkwy","./flags":"alKWv","./platforms/platform_browser":"7iwjp","./platforms/platform_node":"lAuBP","./ops/buffer":"5Qstz"Line truncated
|
||||
!function(e,t,r,n,s,a,o,l){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof i[n]&&i[n],p=u.i||{},c=u.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!c[t]){if(!e[t]){if(s[t])return s[t];var a="function"==typeof i[n]&&i[n];if(!r&&a)return a(t,!0);if(u)return u(t,!0);if(d&&"string"==typeof t)return d(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}p.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},p.cache={};var l=c[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,i)}return c[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=d,this.exports={}},f.modules=e,f.cache=c,f.parent=u,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=p,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return i[n]}}),i[n]=f;for(var m=0;m<t.length;m++)f(t[m]);if(r){var h=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({"9DY5l":[function(e,t,r,n){var s=e("@parcel/transformer-js/src/esmodule-helpers.js");s.defineInteropFlag(r),s.export(r,"default",()=>l);var a=e("@tensorflow-models/body-segmentation"),o=e("@tensorflow/tfjs-core");function l(e={}){return t=>{let{template:{$video:r,$danmuku:n}}=t,s=null,l=null,i=null,u=null,p=!1,c={solutionPath:e.solutionPath||"https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation",modelSelection:e.modelSelection||1,smoothSegmentation:void 0===e.smoothSegmentation||e.smoothSegmentation,minDetectionConfidence:e.minDetectionConfidence||.5,minTrackingConfidence:e.minTrackingConfidence||.5,selfieMode:e.selfieMode||!1,drawContour:e.drawContour||!1,foregroundThreshold:e.foregroundThreshold||.5,opacity:e.opacity||1,maskBlurAmount:e.maskBlurAmount||3};async function d(){try{await o.setBackend("webgl")}catch(e){console.warn("WebGL backend not available, falling back to CPU",e.message),await o.setBackend("cpu")}}async function f(){await d();let e=a.SupportedModels.MediaPipeSelfieSegmentation,t={runtime:"mediapipe",modelType:"general",solutionPath:c.solutionPath,modelSelection:c.modelSelection,smoothSegmentation:c.smoothSegmentation,minDetectionConfidence:c.minDetectionConfidence,minTrackingConfidence:c.minTrackingConfidence,selfieMode:c.selfieMode};try{s=await a.createSegmenter(e,t),p=!0}catch(e){console.error("Error initializing segmenter:",e),p=!1}}async function m(){if(!p||r.paused||r.ended){u=requestAnimationFrame(m);return}try{l.width=r.videoWidth,l.height=r.videoHeight;let e=await s.segmentPeople(r);if(!e||0===e.length){u=requestAnimationFrame(m);return}let t=await a.toBinaryMask(e,{r:255,g:255,b:255,a:255},{r:0,g:0,b:0,a:255},c.drawContour,c.foregroundThreshold);await a.drawMask(l,r,t,c.opacity,c.maskBlurAmount);let o=i.getImageData(0,0,l.width,l.height);i.putImageData(function(e){let t=e.data;for(let e=0;e<t.length;e+=4)t[e]>250&&t[e+1]>250&&t[e+2]>250&&(t[e+3]=0);return e}(o),0,0),n.style.maskImage=`url(${l.toDataURL()})`}catch(e){console.error("Error in segmentBody:",e)}u=requestAnimationFrame(m)}async function h(){p||await f(),l||(i=(l=document.createElement("canvas")).getContext("2d")),Object.assign(n.style,{maskMode:"alpha",maskSize:"contain",maskRepeat:"no-repeat",backgroundSize:"contain",backgroundRepeat:"no-repeat"}),m()}function g(){n.style.maskImage="none",u&&(cancelAnimationFrame(u),u=null)}return t.on("ready",h),t.on("destroy",g),{name:"artplayerPluginDanmukuMask",start:h,stop:g}}}e("@tensorflow/tfjs-backend-webgl"),e("@tensorflow/tfjs-backend-cpu"),"undefined"!=typeof window&&(window.artplayerPluginDanmukuMask=l)},{"@tensorflow-models/body-segmentation":"lcmzA","@tensorflow/tfjs-core":"biUij","@tensorflow/tfjs-backend-webgl":"c8bRp","@tensorflow/tfjs-backend-cpu":"hOvdB","@parcel/transformer-js/src/esmodule-helpers.js":"5lQoW"}],lcmzA:[function(e,t,r,n){var s,a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"SupportedModels",()=>eR),a.export(r,"blurBodyPart",()=>eZ),a.export(r,"bodyPixMaskValueToRainbowColor",()=>b),a.export(r,"createSegmenter",()=>eD),a.export(r,"drawBokehEffect",()=>eJ),a.export(r,"drawMask",()=>eX),a.export(r,"drawPixelatedMask",()=>eY),a.export(r,"toBinaryMask",()=>eH),a.export(r,"toColoredMask",()=>eK);var o=e("@tensorflow/tfjs-core"),l=e("@tensorflow/tfjs-converter"),i=e("@mediapipe/selfie_segmentation"),u=function(e,t){return(u=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function p(e,t){function r(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var c=function(){return(c=ObjecLine truncated
|
||||
//# sourceMappingURL=artplayer-plugin-danmuku-mask.esm.js.map
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCKwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GALxB,IAAA,EAAA,EAAA,yBACA,EAAA,kCACA,EAAA,gCACA,IAAA,EAAA,EAAA,wCAEe,SAAS,EAA2B,EAAS,CAAC,CAAC,EAC1D,OAAO,AAAC,IACJ,GAAM,CACF,SAAU,CAAE,OAAA,CAAM,CAAE,SAAA,CAAQ,CAAE,CACjC,CAAG,EAEA,EAAY,KACZ,EAAS,KACT,EAAM,KACN,EAAmB,KACnB,EAAgB,CAAA,EAEd,EAAS,CACX,aAAc,EAAO,YAAY,EAAI,8DACrC,eAAgB,EAAO,cAAc,EAAI,EAC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 truncated
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCKwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GALxB,IAAA,EAAA,EAAA,wCACA,EAAA,EAAA,yBAIe,SAAS,EAA2B,EAAS,CAAC,CAAC,EAC5D,OAAO,AAAC,IACN,GAAM,CACJ,SAAU,CAAE,OAAA,CAAM,CAAE,SAAA,CAAQ,CAAE,CAC/B,CAAG,EAEA,EAAY,KACZ,EAAS,KACT,EAAM,KACN,EAAmB,KACnB,EAAgB,CAAA,EAEd,EAAS,CACb,aAAc,EAAO,YAAY,EAAI,8DACrC,eAAgB,EAAO,cAAc,EAAI,EACzC,mBAAoB,AAA8B,KAAA,IAA9B,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 truncated
|
||||
+1
-1
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,n,s,a,o,l){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof i[n]&&i[n],p=u.i||{},c=u.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!c[t]){if(!e[t]){if(s[t])return s[t];var a="function"==typeof i[n]&&i[n];if(!r&&a)return a(t,!0);if(u)return u(t,!0);if(d&&"string"==typeof t)return d(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}p.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},p.cache={};var l=c[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,i)}return c[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=d,this.exports={}},f.modules=e,f.cache=c,f.parent=u,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=p,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return i[n]}}),i[n]=f;for(var h=0;h<t.length;h++)f(t[h]);if(r){var m=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({jz4E5:[function(e,t,r,n){var s=e("@parcel/transformer-js/src/esmodule-helpers.js");s.defineInteropFlag(r),s.export(r,"default",()=>l);var a=e("@tensorflow/tfjs-core");e("@tensorflow/tfjs-backend-webgl"),e("@tensorflow/tfjs-backend-cpu");var o=e("@tensorflow-models/body-segmentation");function l(e={}){return t=>{let{template:{$video:r,$danmuku:n}}=t,s=null,l=null,i=null,u=null,p=!1,c={solutionPath:e.solutionPath||"https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation",modelSelection:e.modelSelection||1,smoothSegmentation:void 0===e.smoothSegmentation||e.smoothSegmentation,minDetectionConfidence:e.minDetectionConfidence||.5,minTrackingConfidence:e.minTrackingConfidence||.5,selfieMode:e.selfieMode||!1,drawContour:e.drawContour||!1,foregroundThreshold:e.foregroundThreshold||.5,opacity:e.opacity||1,maskBlurAmount:e.maskBlurAmount||3};async function d(){try{await a.setBackend("webgl")}catch(e){console.warn("WebGL backend not available, falling back to CPU"),await a.setBackend("cpu")}}async function f(){await d();let e=o.SupportedModels.MediaPipeSelfieSegmentation,t={runtime:"mediapipe",modelType:"general",solutionPath:c.solutionPath,modelSelection:c.modelSelection,smoothSegmentation:c.smoothSegmentation,minDetectionConfidence:c.minDetectionConfidence,minTrackingConfidence:c.minTrackingConfidence,selfieMode:c.selfieMode};try{s=await o.createSegmenter(e,t),console.log("Segmenter initialized:",s),p=!0}catch(e){console.error("Error initializing segmenter:",e),p=!1}}async function h(){if(!p||r.paused||r.ended){u=requestAnimationFrame(h);return}try{l.width=r.videoWidth,l.height=r.videoHeight;let e=await s.segmentPeople(r);if(!e||0===e.length){u=requestAnimationFrame(h);return}let t=await o.toBinaryMask(e,{r:255,g:255,b:255,a:255},{r:0,g:0,b:0,a:255},c.drawContour,c.foregroundThreshold);await o.drawMask(l,r,t,c.opacity,c.maskBlurAmount);let a=i.getImageData(0,0,l.width,l.height);i.putImageData(function(e){let t=e.data;for(let e=0;e<t.length;e+=4)t[e]>250&&t[e+1]>250&&t[e+2]>250&&(t[e+3]=0);return e}(a),0,0),n.style.maskImage=`url(${l.toDataURL()})`}catch(e){console.error("Error in segmentBody:",e)}u=requestAnimationFrame(h)}async function m(){p||await f(),l||(i=(l=document.createElement("canvas")).getContext("2d")),Object.assign(n.style,{maskMode:"alpha",maskSize:"contain",maskRepeat:"no-repeat",backgroundSize:"contain",backgroundRepeat:"no-repeat"}),h()}function g(){n.style.maskImage="none",u&&(cancelAnimationFrame(u),u=null)}return t.on("ready",m),t.on("destroy",g),{name:"artplayerPluginDanmukuMask",start:m,stop:g}}}"undefined"!=typeof window&&(window.artplayerPluginDanmukuMask=l)},{"@tensorflow/tfjs-core":"jhEX1","@tensorflow/tfjs-backend-webgl":"2Izis","@tensorflow/tfjs-backend-cpu":"45fLq","@tensorflow-models/body-segmentation":"ikA4O","@parcel/transformer-js/src/esmodule-helpers.js":"7o2zS"}],jhEX1:[function(e,t,r,n){var s=e("@parcel/transformer-js/src/esmodule-helpers.js");s.defineInteropFlag(r),e("./base_side_effects");var a=e("./optimizers/register_optimizers"),o=e("./base");s.exportAll(o,r),(0,a.registerOptimizers)()},{"./base_side_effects":"iSAWM","./optimizers/register_optimizers":"8DxTt","./base":"gLLDj","@parcel/transformer-js/src/esmodule-helpers.js":"7o2zS"}],iSAWM:[function(e,t,r,n){var s=e("./engine");e("./flags"),e("./platforms/platform_browser"),e("./platforms/platform_node");var a=e("./ops/buffer"),o=e("./ops/cast"),l=e("./ops/clone"),i=e("./ops/print"),u=e("./tensor");(0,s.getOrMakeEngine)();let p={buffer:a.buffer,cast:o.cast,clone:l.clone,print:i.print};(0,u.setOpHandler)(p)},{"./engine":"1cdCr","./flags":"4KDHE","./platforms/platform_browser":"lkHTQ","./platforms/platform_node":"9b1si","./ops/buffer":"lKgEf","./Line truncated
|
||||
!function(e,t,r,n,s,a,o,l){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},p="function"==typeof i[n]&&i[n],u=p.i||{},c=p.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!c[t]){if(!e[t]){if(s[t])return s[t];var a="function"==typeof i[n]&&i[n];if(!r&&a)return a(t,!0);if(p)return p(t,!0);if(d&&"string"==typeof t)return d(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}u.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},u.cache={};var l=c[t]=new f.Module(t);e[t][0].call(l.exports,u,l,l.exports,i)}return c[t].exports;function u(e){var t=u.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=d,this.exports={}},f.modules=e,f.cache=c,f.parent=p,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=u,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return i[n]}}),i[n]=f;for(var m=0;m<t.length;m++)f(t[m]);if(r){var h=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({ecCzQ:[function(e,t,r,n){var s=e("@parcel/transformer-js/src/esmodule-helpers.js");s.defineInteropFlag(r),s.export(r,"default",()=>l);var a=e("@tensorflow-models/body-segmentation"),o=e("@tensorflow/tfjs-core");function l(e={}){return t=>{let{template:{$video:r,$danmuku:n}}=t,s=null,l=null,i=null,p=null,u=!1,c={solutionPath:e.solutionPath||"https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation",modelSelection:e.modelSelection||1,smoothSegmentation:void 0===e.smoothSegmentation||e.smoothSegmentation,minDetectionConfidence:e.minDetectionConfidence||.5,minTrackingConfidence:e.minTrackingConfidence||.5,selfieMode:e.selfieMode||!1,drawContour:e.drawContour||!1,foregroundThreshold:e.foregroundThreshold||.5,opacity:e.opacity||1,maskBlurAmount:e.maskBlurAmount||3};async function d(){try{await o.setBackend("webgl")}catch(e){console.warn("WebGL backend not available, falling back to CPU",e.message),await o.setBackend("cpu")}}async function f(){await d();let e=a.SupportedModels.MediaPipeSelfieSegmentation,t={runtime:"mediapipe",modelType:"general",solutionPath:c.solutionPath,modelSelection:c.modelSelection,smoothSegmentation:c.smoothSegmentation,minDetectionConfidence:c.minDetectionConfidence,minTrackingConfidence:c.minTrackingConfidence,selfieMode:c.selfieMode};try{s=await a.createSegmenter(e,t),u=!0}catch(e){console.error("Error initializing segmenter:",e),u=!1}}async function m(){if(!u||r.paused||r.ended){p=requestAnimationFrame(m);return}try{l.width=r.videoWidth,l.height=r.videoHeight;let e=await s.segmentPeople(r);if(!e||0===e.length){p=requestAnimationFrame(m);return}let t=await a.toBinaryMask(e,{r:255,g:255,b:255,a:255},{r:0,g:0,b:0,a:255},c.drawContour,c.foregroundThreshold);await a.drawMask(l,r,t,c.opacity,c.maskBlurAmount);let o=i.getImageData(0,0,l.width,l.height);i.putImageData(function(e){let t=e.data;for(let e=0;e<t.length;e+=4)t[e]>250&&t[e+1]>250&&t[e+2]>250&&(t[e+3]=0);return e}(o),0,0),n.style.maskImage=`url(${l.toDataURL()})`}catch(e){console.error("Error in segmentBody:",e)}p=requestAnimationFrame(m)}async function h(){u||await f(),l||(i=(l=document.createElement("canvas")).getContext("2d")),Object.assign(n.style,{maskMode:"alpha",maskSize:"contain",maskRepeat:"no-repeat",backgroundSize:"contain",backgroundRepeat:"no-repeat"}),m()}function g(){n.style.maskImage="none",p&&(cancelAnimationFrame(p),p=null)}return t.on("ready",h),t.on("destroy",g),{name:"artplayerPluginDanmukuMask",start:h,stop:g}}}e("@tensorflow/tfjs-backend-webgl"),e("@tensorflow/tfjs-backend-cpu"),"undefined"!=typeof window&&(window.artplayerPluginDanmukuMask=l)},{"@tensorflow-models/body-segmentation":"5Otso","@tensorflow/tfjs-core":"2Gtps","@tensorflow/tfjs-backend-webgl":"2ZcDF","@tensorflow/tfjs-backend-cpu":"b4yJT","@parcel/transformer-js/src/esmodule-helpers.js":"6ykb1"}],"5Otso":[function(e,t,r,n){var s,a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"SupportedModels",()=>eR),a.export(r,"blurBodyPart",()=>eJ),a.export(r,"bodyPixMaskValueToRainbowColor",()=>b),a.export(r,"createSegmenter",()=>e$),a.export(r,"drawBokehEffect",()=>eQ),a.export(r,"drawMask",()=>eZ),a.export(r,"drawPixelatedMask",()=>eY),a.export(r,"toBinaryMask",()=>eK),a.export(r,"toColoredMask",()=>eX);var o=e("@tensorflow/tfjs-core"),l=e("@tensorflow/tfjs-converter"),i=e("@mediapipe/selfie_segmentation"),p=function(e,t){return(p=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function u(e,t){function r(){this.constructor=e}p(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var c=function(){return(c=ObjecLine truncated
|
||||
+1
-1
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,n,a,o,s,i){var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof c[n]&&c[n],l=u.i||{},p=u.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,r){if(!p[t]){if(!e[t]){if(a[t])return a[t];var o="function"==typeof c[n]&&c[n];if(!r&&o)return o(t,!0);if(u)return u(t,!0);if(f&&"string"==typeof t)return f(t);var s=Error("Cannot find module '"+t+"'");throw s.code="MODULE_NOT_FOUND",s}l.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},l.cache={};var i=p[t]=new d.Module(t);e[t][0].call(i.exports,l,i,i.exports,c)}return p[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.require=f,this.exports={}},d.modules=e,d.cache=p,d.parent=u,d.distDir=void 0,d.publicUrl=void 0,d.devServer=void 0,d.i=l,d.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(d,"root",{get:function(){return c[n]}}),c[n]=d;for(var h=0;h<t.length;h++)d(t[h]);if(r){var m=d(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({bzF6W:[function(e,t,r,n){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",function(){return u});var o=e("@swc/helpers/cjs/_async_to_generator.cjs"),s=e("@swc/helpers/cjs/_ts_generator.cjs"),i=e("@tensorflow/tfjs-core");e("@tensorflow/tfjs-backend-webgl"),e("@tensorflow/tfjs-backend-cpu");var c=e("@tensorflow-models/body-segmentation");function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var r=t.template,n=r.$video,a=r.$danmuku,u=null,l=null,p=null,f=null,d=!1,h={solutionPath:e.solutionPath||"https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation",modelSelection:e.modelSelection||1,smoothSegmentation:void 0===e.smoothSegmentation||e.smoothSegmentation,minDetectionConfidence:e.minDetectionConfidence||.5,minTrackingConfidence:e.minTrackingConfidence||.5,selfieMode:e.selfieMode||!1,drawContour:e.drawContour||!1,foregroundThreshold:e.foregroundThreshold||.5,opacity:e.opacity||1,maskBlurAmount:e.maskBlurAmount||3};function m(){return(m=(0,o._)(function(){return(0,s._)(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,4]),[4,i.setBackend("webgl")];case 1:case 3:return e.sent(),[3,4];case 2:return e.sent(),console.warn("WebGL backend not available, falling back to CPU"),[4,i.setBackend("cpu")];case 4:return[2]}})})).apply(this,arguments)}function g(){return(g=(0,o._)(function(){var e,t;return(0,s._)(this,function(r){switch(r.label){case 0:return[4,function(){return m.apply(this,arguments)}()];case 1:r.sent(),e=c.SupportedModels.MediaPipeSelfieSegmentation,t={runtime:"mediapipe",modelType:"general",solutionPath:h.solutionPath,modelSelection:h.modelSelection,smoothSegmentation:h.smoothSegmentation,minDetectionConfidence:h.minDetectionConfidence,minTrackingConfidence:h.minTrackingConfidence,selfieMode:h.selfieMode},r.label=2;case 2:return r.trys.push([2,4,,5]),[4,c.createSegmenter(e,t)];case 3:return console.log("Segmenter initialized:",u=r.sent()),d=!0,[3,5];case 4:return console.error("Error initializing segmenter:",r.sent()),d=!1,[3,5];case 5:return[2]}})})).apply(this,arguments)}function v(){return _.apply(this,arguments)}function _(){return(_=(0,o._)(function(){var e,t,r,o,i;return(0,s._)(this,function(s){switch(s.label){case 0:if(!d||n.paused||n.ended)return f=requestAnimationFrame(v),[2];s.label=1;case 1:return s.trys.push([1,5,,6]),l.width=n.videoWidth,l.height=n.videoHeight,[4,u.segmentPeople(n)];case 2:if(!(e=s.sent())||0===e.length)return f=requestAnimationFrame(v),[2];return t={r:255,g:255,b:255,a:255},r={r:0,g:0,b:0,a:255},[4,c.toBinaryMask(e,t,r,h.drawContour,h.foregroundThreshold)];case 3:return o=s.sent(),[4,c.drawMask(l,n,o,h.opacity,h.maskBlurAmount)];case 4:return s.sent(),i=p.getImageData(0,0,l.width,l.height),p.putImageData(function(e){for(var t=e.data,r=0;r<t.length;r+=4)t[r]>250&&t[r+1]>250&&t[r+2]>250&&(t[r+3]=0);return e}(i),0,0),a.style.maskImage="url(".concat(l.toDataURL(),")"),[3,6];case 5:return console.error("Error in segmentBody:",s.sent()),[3,6];case 6:return f=requestAnimationFrame(v),[2]}})})).apply(this,arguments)}function x(){return y.apply(this,arguments)}function y(){return(y=(0,o._)(function(){return(0,s._)(this,function(e){switch(e.label){case 0:if(d)return[3,2];return[4,function(){return g.apply(this,arguments)}()];case 1:e.sent(),e.label=2;case 2:return l||(p=(l=document.createElement("canvas")).getContext("2d")),Object.assign(a.style,{maskMode:"alpha",maskSize:"contain",maskRepeat:"no-repeat",backgroundSize:"contain",backgroundRepeat:"no-repeat"}),v(),[2]}})})).apply(this,arguments)}function b(){a.style.maskImage="none",f&&(cancelAnimationFrame(f),f=null)}return t.on("ready",x),t.on(Line truncated
|
||||
!function(e,t,r,n,a,s,o,i){var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof c[n]&&c[n],l=u.i||{},p=u.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,r){if(!p[t]){if(!e[t]){if(a[t])return a[t];var s="function"==typeof c[n]&&c[n];if(!r&&s)return s(t,!0);if(u)return u(t,!0);if(f&&"string"==typeof t)return f(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}l.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},l.cache={};var i=p[t]=new d.Module(t);e[t][0].call(i.exports,l,i,i.exports,c)}return p[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.require=f,this.exports={}},d.modules=e,d.cache=p,d.parent=u,d.distDir=void 0,d.publicUrl=void 0,d.devServer=void 0,d.i=l,d.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(d,"root",{get:function(){return c[n]}}),c[n]=d;for(var h=0;h<t.length;h++)d(t[h]);if(r){var m=d(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({"1FGEJ":[function(e,t,r,n){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",function(){return u});var s=e("@swc/helpers/cjs/_async_to_generator.cjs"),o=e("@swc/helpers/cjs/_ts_generator.cjs"),i=e("@tensorflow-models/body-segmentation"),c=e("@tensorflow/tfjs-core");function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var r=t.template,n=r.$video,a=r.$danmuku,u=null,l=null,p=null,f=null,d=!1,h={solutionPath:e.solutionPath||"https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation",modelSelection:e.modelSelection||1,smoothSegmentation:void 0===e.smoothSegmentation||e.smoothSegmentation,minDetectionConfidence:e.minDetectionConfidence||.5,minTrackingConfidence:e.minTrackingConfidence||.5,selfieMode:e.selfieMode||!1,drawContour:e.drawContour||!1,foregroundThreshold:e.foregroundThreshold||.5,opacity:e.opacity||1,maskBlurAmount:e.maskBlurAmount||3};function m(){return(0,s._)(function(){return(0,o._)(this,function(e){switch(e.label){case 0:if(d)return[3,2];return[4,(0,s._)(function(){var e,t;return(0,o._)(this,function(r){switch(r.label){case 0:return[4,(0,s._)(function(){return(0,o._)(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,4]),[4,c.setBackend("webgl")];case 1:case 3:return e.sent(),[3,4];case 2:return console.warn("WebGL backend not available, falling back to CPU",e.sent().message),[4,c.setBackend("cpu")];case 4:return[2]}})})()];case 1:r.sent(),e=i.SupportedModels.MediaPipeSelfieSegmentation,t={runtime:"mediapipe",modelType:"general",solutionPath:h.solutionPath,modelSelection:h.modelSelection,smoothSegmentation:h.smoothSegmentation,minDetectionConfidence:h.minDetectionConfidence,minTrackingConfidence:h.minTrackingConfidence,selfieMode:h.selfieMode},r.label=2;case 2:return r.trys.push([2,4,,5]),[4,i.createSegmenter(e,t)];case 3:return u=r.sent(),d=!0,[3,5];case 4:return console.error("Error initializing segmenter:",r.sent()),d=!1,[3,5];case 5:return[2]}})})()];case 1:e.sent(),e.label=2;case 2:return l||(p=(l=document.createElement("canvas")).getContext("2d")),Object.assign(a.style,{maskMode:"alpha",maskSize:"contain",maskRepeat:"no-repeat",backgroundSize:"contain",backgroundRepeat:"no-repeat"}),!function e(){return(0,s._)(function(){var t,r,s,c,m;return(0,o._)(this,function(o){switch(o.label){case 0:if(!d||n.paused||n.ended)return f=requestAnimationFrame(e),[2];o.label=1;case 1:return o.trys.push([1,5,,6]),l.width=n.videoWidth,l.height=n.videoHeight,[4,u.segmentPeople(n)];case 2:if(!(t=o.sent())||0===t.length)return f=requestAnimationFrame(e),[2];return r={r:255,g:255,b:255,a:255},s={r:0,g:0,b:0,a:255},[4,i.toBinaryMask(t,r,s,h.drawContour,h.foregroundThreshold)];case 3:return c=o.sent(),[4,i.drawMask(l,n,c,h.opacity,h.maskBlurAmount)];case 4:return o.sent(),m=p.getImageData(0,0,l.width,l.height),p.putImageData(function(e){for(var t=e.data,r=0;r<t.length;r+=4)t[r]>250&&t[r+1]>250&&t[r+2]>250&&(t[r+3]=0);return e}(m),0,0),a.style.maskImage="url(".concat(l.toDataURL(),")"),[3,6];case 5:return console.error("Error in segmentBody:",o.sent()),[3,6];case 6:return f=requestAnimationFrame(e),[2]}})})()}(),[2]}})})()}function g(){a.style.maskImage="none",f&&(cancelAnimationFrame(f),f=null)}return t.on("ready",m),t.on("destroy",g),{name:"artplayerPluginDanmukuMask",start:m,stop:g}}}e("@tensorflow/tfjs-backend-webgl"),e("@tensorflow/tfjs-backend-cpu"),"undefined"!=typeof window&&(window.artplayerPluginDanmukuMask=u)},{"@swc/helpers/cjs/_async_to_generator.cjs":"cZn0e","@swc/helpers/cjs/_ts_generator.cjs":"eltGh","@tensorflow-models/body-segmentation":"8yK79","@tensorflow/tfjs-core":"aOH7b","@tensorflow/tfjs-backend-webgl":"8uLine truncated
|
||||
@@ -1,38 +1,38 @@
|
||||
{
|
||||
"license": "MIT",
|
||||
"version": "1.0.0",
|
||||
"name": "artplayer-plugin-danmuku-mask",
|
||||
"description": "Danmuku mask plugin for ArtPlayer",
|
||||
"main": "dist/artplayer-plugin-danmuku-mask.js",
|
||||
"legacy": "dist/artplayer-plugin-danmuku-mask.legacy.js",
|
||||
"module": "dist/artplayer-plugin-danmuku-mask.esm.js",
|
||||
"types": "types/artplayer-plugin-danmuku-mask.d.ts",
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-danmuku-mask.esm.js",
|
||||
"require": "./dist/artplayer-plugin-danmuku-mask.js",
|
||||
"default": "./dist/artplayer-plugin-danmuku-mask.js"
|
||||
},
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"dependencies": {
|
||||
"@mediapipe/selfie_segmentation": "^0.1.1675465747",
|
||||
"@tensorflow-models/body-segmentation": "^1.0.2",
|
||||
"@tensorflow/tfjs-backend-cpu": "^4.21.0",
|
||||
"@tensorflow/tfjs-backend-webgl": "^4.21.0",
|
||||
"@tensorflow/tfjs-converter": "^4.21.0",
|
||||
"@tensorflow/tfjs-core": "^4.21.0"
|
||||
}
|
||||
"name": "artplayer-plugin-danmuku-mask",
|
||||
"version": "1.0.0",
|
||||
"description": "Danmuku mask plugin for ArtPlayer",
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"license": "MIT",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-danmuku-mask.esm.js",
|
||||
"require": "./dist/artplayer-plugin-danmuku-mask.js",
|
||||
"default": "./dist/artplayer-plugin-danmuku-mask.js"
|
||||
},
|
||||
"main": "dist/artplayer-plugin-danmuku-mask.js",
|
||||
"legacy": "dist/artplayer-plugin-danmuku-mask.legacy.js",
|
||||
"module": "dist/artplayer-plugin-danmuku-mask.esm.js",
|
||||
"types": "types/artplayer-plugin-danmuku-mask.d.ts",
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"dependencies": {
|
||||
"@mediapipe/selfie_segmentation": "^0.1.1675465747",
|
||||
"@tensorflow-models/body-segmentation": "^1.0.2",
|
||||
"@tensorflow/tfjs-backend-cpu": "^4.21.0",
|
||||
"@tensorflow/tfjs-backend-webgl": "^4.21.0",
|
||||
"@tensorflow/tfjs-converter": "^4.21.0",
|
||||
"@tensorflow/tfjs-core": "^4.21.0"
|
||||
}
|
||||
}
|
||||
@@ -1,161 +1,163 @@
|
||||
import * as tf from '@tensorflow/tfjs-core';
|
||||
import '@tensorflow/tfjs-backend-webgl';
|
||||
import '@tensorflow/tfjs-backend-cpu';
|
||||
import * as bodySegmentation from '@tensorflow-models/body-segmentation';
|
||||
import * as bodySegmentation from '@tensorflow-models/body-segmentation'
|
||||
import * as tf from '@tensorflow/tfjs-core'
|
||||
import '@tensorflow/tfjs-backend-webgl'
|
||||
import '@tensorflow/tfjs-backend-cpu'
|
||||
|
||||
export default function artplayerPluginDanmukuMask(option = {}) {
|
||||
return (art) => {
|
||||
const {
|
||||
template: { $video, $danmuku },
|
||||
} = art;
|
||||
return (art) => {
|
||||
const {
|
||||
template: { $video, $danmuku },
|
||||
} = art
|
||||
|
||||
let segmenter = null;
|
||||
let canvas = null;
|
||||
let ctx = null;
|
||||
let animationFrameId = null;
|
||||
let isInitialized = false;
|
||||
let segmenter = null
|
||||
let canvas = null
|
||||
let ctx = null
|
||||
let animationFrameId = null
|
||||
let isInitialized = false
|
||||
|
||||
const config = {
|
||||
solutionPath: option.solutionPath || 'https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation',
|
||||
modelSelection: option.modelSelection || 1,
|
||||
smoothSegmentation: option.smoothSegmentation !== undefined ? option.smoothSegmentation : true,
|
||||
minDetectionConfidence: option.minDetectionConfidence || 0.5,
|
||||
minTrackingConfidence: option.minTrackingConfidence || 0.5,
|
||||
selfieMode: option.selfieMode || false,
|
||||
drawContour: option.drawContour || false,
|
||||
foregroundThreshold: option.foregroundThreshold || 0.5,
|
||||
opacity: option.opacity || 1,
|
||||
maskBlurAmount: option.maskBlurAmount || 3,
|
||||
};
|
||||
const config = {
|
||||
solutionPath: option.solutionPath || 'https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation',
|
||||
modelSelection: option.modelSelection || 1,
|
||||
smoothSegmentation: option.smoothSegmentation !== undefined ? option.smoothSegmentation : true,
|
||||
minDetectionConfidence: option.minDetectionConfidence || 0.5,
|
||||
minTrackingConfidence: option.minTrackingConfidence || 0.5,
|
||||
selfieMode: option.selfieMode || false,
|
||||
drawContour: option.drawContour || false,
|
||||
foregroundThreshold: option.foregroundThreshold || 0.5,
|
||||
opacity: option.opacity || 1,
|
||||
maskBlurAmount: option.maskBlurAmount || 3,
|
||||
}
|
||||
|
||||
async function initTensorFlow() {
|
||||
try {
|
||||
await tf.setBackend('webgl');
|
||||
} catch (error) {
|
||||
console.warn('WebGL backend not available, falling back to CPU', error.message);
|
||||
await tf.setBackend('cpu');
|
||||
}
|
||||
async function initTensorFlow() {
|
||||
try {
|
||||
await tf.setBackend('webgl')
|
||||
}
|
||||
catch (error) {
|
||||
console.warn('WebGL backend not available, falling back to CPU', error.message)
|
||||
await tf.setBackend('cpu')
|
||||
}
|
||||
}
|
||||
|
||||
async function initSegmenter() {
|
||||
await initTensorFlow()
|
||||
const model = bodySegmentation.SupportedModels.MediaPipeSelfieSegmentation
|
||||
|
||||
const segmenterConfig = {
|
||||
runtime: 'mediapipe',
|
||||
modelType: 'general',
|
||||
solutionPath: config.solutionPath,
|
||||
modelSelection: config.modelSelection,
|
||||
smoothSegmentation: config.smoothSegmentation,
|
||||
minDetectionConfidence: config.minDetectionConfidence,
|
||||
minTrackingConfidence: config.minTrackingConfidence,
|
||||
selfieMode: config.selfieMode,
|
||||
}
|
||||
|
||||
try {
|
||||
segmenter = await bodySegmentation.createSegmenter(model, segmenterConfig)
|
||||
isInitialized = true
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Error initializing segmenter:', error)
|
||||
isInitialized = false
|
||||
}
|
||||
}
|
||||
|
||||
function setupDanmukuStyle() {
|
||||
Object.assign($danmuku.style, {
|
||||
maskMode: 'alpha',
|
||||
maskSize: 'contain',
|
||||
maskRepeat: 'no-repeat',
|
||||
backgroundSize: 'contain',
|
||||
backgroundRepeat: 'no-repeat',
|
||||
})
|
||||
}
|
||||
|
||||
function createCanvas() {
|
||||
canvas = document.createElement('canvas')
|
||||
ctx = canvas.getContext('2d')
|
||||
}
|
||||
|
||||
function makeWhiteTransparent(imageData) {
|
||||
const data = imageData.data
|
||||
for (let i = 0; i < data.length; i += 4) {
|
||||
if (data[i] > 250 && data[i + 1] > 250 && data[i + 2] > 250) {
|
||||
data[i + 3] = 0
|
||||
}
|
||||
}
|
||||
return imageData
|
||||
}
|
||||
|
||||
async function segmentBody() {
|
||||
if (!isInitialized || $video.paused || $video.ended) {
|
||||
animationFrameId = requestAnimationFrame(segmentBody)
|
||||
return
|
||||
}
|
||||
|
||||
try {
|
||||
canvas.width = $video.videoWidth
|
||||
canvas.height = $video.videoHeight
|
||||
|
||||
const segmentation = await segmenter.segmentPeople($video)
|
||||
|
||||
if (!segmentation || segmentation.length === 0) {
|
||||
animationFrameId = requestAnimationFrame(segmentBody)
|
||||
return
|
||||
}
|
||||
|
||||
async function initSegmenter() {
|
||||
await initTensorFlow();
|
||||
const model = bodySegmentation.SupportedModels.MediaPipeSelfieSegmentation;
|
||||
const foregroundColor = { r: 255, g: 255, b: 255, a: 255 }
|
||||
const backgroundColor = { r: 0, g: 0, b: 0, a: 255 }
|
||||
const mask = await bodySegmentation.toBinaryMask(
|
||||
segmentation,
|
||||
foregroundColor,
|
||||
backgroundColor,
|
||||
config.drawContour,
|
||||
config.foregroundThreshold,
|
||||
)
|
||||
|
||||
const segmenterConfig = {
|
||||
runtime: 'mediapipe',
|
||||
modelType: 'general',
|
||||
solutionPath: config.solutionPath,
|
||||
modelSelection: config.modelSelection,
|
||||
smoothSegmentation: config.smoothSegmentation,
|
||||
minDetectionConfidence: config.minDetectionConfidence,
|
||||
minTrackingConfidence: config.minTrackingConfidence,
|
||||
selfieMode: config.selfieMode,
|
||||
};
|
||||
await bodySegmentation.drawMask(canvas, $video, mask, config.opacity, config.maskBlurAmount)
|
||||
|
||||
try {
|
||||
segmenter = await bodySegmentation.createSegmenter(model, segmenterConfig);
|
||||
console.log('Segmenter initialized:', segmenter);
|
||||
isInitialized = true;
|
||||
} catch (error) {
|
||||
console.error('Error initializing segmenter:', error);
|
||||
isInitialized = false;
|
||||
}
|
||||
}
|
||||
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height)
|
||||
ctx.putImageData(makeWhiteTransparent(imageData), 0, 0)
|
||||
$danmuku.style.maskImage = `url(${canvas.toDataURL()})`
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Error in segmentBody:', error)
|
||||
}
|
||||
|
||||
function setupDanmukuStyle() {
|
||||
Object.assign($danmuku.style, {
|
||||
maskMode: 'alpha',
|
||||
maskSize: 'contain',
|
||||
maskRepeat: 'no-repeat',
|
||||
backgroundSize: 'contain',
|
||||
backgroundRepeat: 'no-repeat',
|
||||
});
|
||||
}
|
||||
animationFrameId = requestAnimationFrame(segmentBody)
|
||||
}
|
||||
|
||||
function createCanvas() {
|
||||
canvas = document.createElement('canvas');
|
||||
ctx = canvas.getContext('2d');
|
||||
}
|
||||
async function startSegmentation() {
|
||||
if (!isInitialized) {
|
||||
await initSegmenter()
|
||||
}
|
||||
if (!canvas) {
|
||||
createCanvas()
|
||||
}
|
||||
setupDanmukuStyle()
|
||||
segmentBody()
|
||||
}
|
||||
|
||||
function makeWhiteTransparent(imageData) {
|
||||
const data = imageData.data;
|
||||
for (let i = 0; i < data.length; i += 4) {
|
||||
if (data[i] > 250 && data[i + 1] > 250 && data[i + 2] > 250) {
|
||||
data[i + 3] = 0;
|
||||
}
|
||||
}
|
||||
return imageData;
|
||||
}
|
||||
function stopSegmentation() {
|
||||
$danmuku.style.maskImage = 'none'
|
||||
if (animationFrameId) {
|
||||
cancelAnimationFrame(animationFrameId)
|
||||
animationFrameId = null
|
||||
}
|
||||
}
|
||||
|
||||
async function segmentBody() {
|
||||
if (!isInitialized || $video.paused || $video.ended) {
|
||||
animationFrameId = requestAnimationFrame(segmentBody);
|
||||
return;
|
||||
}
|
||||
art.on('ready', startSegmentation)
|
||||
art.on('destroy', stopSegmentation)
|
||||
|
||||
try {
|
||||
canvas.width = $video.videoWidth;
|
||||
canvas.height = $video.videoHeight;
|
||||
|
||||
const segmentation = await segmenter.segmentPeople($video);
|
||||
|
||||
if (!segmentation || segmentation.length === 0) {
|
||||
animationFrameId = requestAnimationFrame(segmentBody);
|
||||
return;
|
||||
}
|
||||
|
||||
const foregroundColor = { r: 255, g: 255, b: 255, a: 255 };
|
||||
const backgroundColor = { r: 0, g: 0, b: 0, a: 255 };
|
||||
const mask = await bodySegmentation.toBinaryMask(
|
||||
segmentation,
|
||||
foregroundColor,
|
||||
backgroundColor,
|
||||
config.drawContour,
|
||||
config.foregroundThreshold,
|
||||
);
|
||||
|
||||
await bodySegmentation.drawMask(canvas, $video, mask, config.opacity, config.maskBlurAmount);
|
||||
|
||||
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
|
||||
ctx.putImageData(makeWhiteTransparent(imageData), 0, 0);
|
||||
$danmuku.style.maskImage = `url(${canvas.toDataURL()})`;
|
||||
} catch (error) {
|
||||
console.error('Error in segmentBody:', error);
|
||||
}
|
||||
|
||||
animationFrameId = requestAnimationFrame(segmentBody);
|
||||
}
|
||||
|
||||
async function startSegmentation() {
|
||||
if (!isInitialized) {
|
||||
await initSegmenter();
|
||||
}
|
||||
if (!canvas) {
|
||||
createCanvas();
|
||||
}
|
||||
setupDanmukuStyle();
|
||||
segmentBody();
|
||||
}
|
||||
|
||||
function stopSegmentation() {
|
||||
$danmuku.style.maskImage = 'none';
|
||||
if (animationFrameId) {
|
||||
cancelAnimationFrame(animationFrameId);
|
||||
animationFrameId = null;
|
||||
}
|
||||
}
|
||||
|
||||
art.on('ready', startSegmentation);
|
||||
art.on('destroy', stopSegmentation);
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginDanmukuMask',
|
||||
start: startSegmentation,
|
||||
stop: stopSegmentation,
|
||||
};
|
||||
};
|
||||
return {
|
||||
name: 'artplayerPluginDanmukuMask',
|
||||
start: startSegmentation,
|
||||
stop: stopSegmentation,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window['artplayerPluginDanmukuMask'] = artplayerPluginDanmukuMask;
|
||||
window.artplayerPluginDanmukuMask = artplayerPluginDanmukuMask
|
||||
}
|
||||
+20
-20
@@ -1,25 +1,25 @@
|
||||
import type Artplayer from 'artplayer';
|
||||
import type Artplayer from 'artplayer'
|
||||
|
||||
export = artplayerPluginDanmukuMask;
|
||||
export = artplayerPluginDanmukuMask
|
||||
export as namespace artplayerPluginDanmukuMask;
|
||||
|
||||
type Option = {
|
||||
solutionPath?: string;
|
||||
modelSelection?: number;
|
||||
smoothSegmentation?: boolean;
|
||||
minDetectionConfidence?: number;
|
||||
minTrackingConfidence?: number;
|
||||
selfieMode?: boolean;
|
||||
drawContour?: boolean;
|
||||
foregroundThreshold?: number;
|
||||
opacity?: number;
|
||||
maskBlurAmount?: number;
|
||||
};
|
||||
interface Option {
|
||||
solutionPath?: string
|
||||
modelSelection?: number
|
||||
smoothSegmentation?: boolean
|
||||
minDetectionConfidence?: number
|
||||
minTrackingConfidence?: number
|
||||
selfieMode?: boolean
|
||||
drawContour?: boolean
|
||||
foregroundThreshold?: number
|
||||
opacity?: number
|
||||
maskBlurAmount?: number
|
||||
}
|
||||
|
||||
type Result = {
|
||||
name: 'artplayerPluginDanmukuMask';
|
||||
start: () => Promise<void>;
|
||||
stop: () => void;
|
||||
};
|
||||
interface Result {
|
||||
name: 'artplayerPluginDanmukuMask'
|
||||
start: () => Promise<void>
|
||||
stop: () => void
|
||||
}
|
||||
|
||||
declare const artplayerPluginDanmukuMask: (option?: Option) => (art: Artplayer) => Result;
|
||||
declare const artplayerPluginDanmukuMask: (option?: Option) => (art: Artplayer) => Result
|
||||
@@ -5,5 +5,5 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(t,e,i,a,n,o,s,l){var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof r[a]&&r[a],p=d.i||{},u=d.cache||{},h="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function m(e,i){if(!u[e]){if(!t[e]){if(n[e])return n[e];var o="function"==typeof r[a]&&r[a];if(!i&&o)return o(e,!0);if(d)return d(e,!0);if(h&&"string"==typeof e)return h(e);var s=Error("Cannot find module '"+e+"'");throw s.code="MODULE_NOT_FOUND",s}p.resolve=function(i){var a=t[e][1][i];return null!=a?a:i},p.cache={};var l=u[e]=new m.Module(e);t[e][0].call(l.exports,p,l,l.exports,r)}return u[e].exports;function p(t){var e=p.resolve(t);return!1===e?{}:m(e)}}m.isParcelRequire=!0,m.Module=function(t){this.id=t,this.bundle=m,this.require=h,this.exports={}},m.modules=t,m.cache=u,m.parent=d,m.distDir=void 0,m.publicUrl=void 0,m.devServer=void 0,m.i=p,m.register=function(e,i){t[e]=[function(t,e){e.exports=i},{}]},Object.defineProperty(m,"root",{get:function(){return r[a]}}),r[a]=m;for(var c=0;c<e.length;c++)m(e[c]);if(i){var f=m(i);"object"==typeof exports&&"undefined"!=typeof module?module.exports=f:"function"==typeof define&&define.amd&&define(function(){return f})}}({"4omrA":[function(t,e,i,a){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(i),n.export(i,"default",()=>u);var o=t("./danmuku"),s=n.interopDefault(o),l=t("./setting"),r=n.interopDefault(l),d=t("./heatmap"),p=n.interopDefault(d);function u(t){return e=>{let i=new(0,s.default)(e,t),a=new(0,r.default)(e,i);return i.option.heatmap&&(0,p.default)(e,i,i.option.heatmap),{name:"artplayerPluginDanmuku",emit:i.emit.bind(i),load:i.load.bind(i),config:i.config.bind(i),hide:i.hide.bind(i),show:i.show.bind(i),reset:i.reset.bind(i),mount:a.mount.bind(a),get option(){return i.option},get isHide(){return i.isHide},get isStop(){return i.isStop}}}}u.icons=r.default.icons,"undefined"!=typeof window&&(window.artplayerPluginDanmuku=u)},{"./danmuku":"3UaSK","./setting":"jUZBE","./heatmap":"kCWvn","@parcel/transformer-js/src/esmodule-helpers.js":"w4pLy"}],"3UaSK":[function(t,e,i,a){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(i);var o=t("./bilibili"),s=t("bundle-text:./worker"),l=n.interopDefault(s);class r{constructor(t,e){let{constructor:i,template:a}=t;this.utils=i.utils,this.validator=i.validator,this.$danmuku=a.$danmuku,this.$player=a.$player,this.art=t,this.queue=[],this.$refs=[],this.isStop=!1,this.isHide=!1,this.timer=null,this.index=0,this.option=r.option,this.states={wait:[],ready:[],emit:[],stop:[]},this.config(e,!0);let n=new Blob([l.default.replace("export{e as default};","")],{type:"application/javascript"});this.worker=new Worker(URL.createObjectURL(n)),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.reset=this.reset.bind(this),this.resize=this.resize.bind(this),this.destroy=this.destroy.bind(this),t.on("video:play",this.start),t.on("video:playing",this.start),t.on("video:pause",this.stop),t.on("video:waiting",this.stop),t.on("destroy",this.destroy),t.on("resize",this.resize),this.load()}static get option(){return{danmuku:[],speed:5,margin:[10,"25%"],opacity:1,color:"#FFFFFF",mode:0,modes:[0,1,2],fontSize:25,antiOverlap:!0,synchronousPlayback:!1,mount:void 0,heatmap:!1,width:512,points:[],filter:()=>!0,beforeEmit:()=>!0,beforeVisible:()=>!0,visible:!0,emitter:!0,maxLength:200,lockTime:5,theme:"dark",OPACITY:{},FONT_SIZE:{},MARGIN:{},SPEED:{},COLOR:[]}}static get scheme(){return{danmuku:"array|function|string",speed:"number",margin:"array",opacity:"number",color:"string",mode:"number",modes:"array",fontSize:"number|string",antiOverlap:"boolean",synchronousPlayback:"boolean",mount:"?htmldivelement|string",heatmap:"object|boolean",width:"number",points:"array",filter:"function",beforeEmit:"function",beforeVisible:"function",visible:"boolean",emitter:"boolean",maxLength:"number",lockTime:"number",theme:"string",OPACITY:"object",FONT_SIZE:"object",MARGIN:"object",SPEED:"object",COLOR:"array"}}static get cssText(){return` user-select: none; position: absolute; white-space: pre; pointer-events: none; perspective: 500px; display: inline-block; will-change: transform; font-weight: normal; line-height: 1.125; visibility: hidden; font-family: SimHei, "Microsoft JhengHei", Arial, Helvetica, sans-serif; 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; `}get isRotate(){return this.art.plugins?.autoOrientation?.state}get marginTop(){let{clamp:t}=this.utils,e=this.option.margin[0],{clientHeight:i}=this.$player;return"number"==typeof e?t(e,0,i):"string"==typeof e&&e.endsWith("%")?t(i*(parseFloat(e)/100),0,i):r.option.margin[0]}get marginBottom(){let{clamp:t}=this.utils,e=this.option.margin[1],{clientHeight:i}=this.$player;return"number"==typeof e?t(e,0,i):"string"==typeof e&&e.endsWith("%")?t(i*(parseFloLine truncated
|
||||
!function(t,e,i,a,n,o,s,r){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof l[a]&&l[a],p=d.i||{},u=d.cache||{},h="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function m(e,i){if(!u[e]){if(!t[e]){if(n[e])return n[e];var o="function"==typeof l[a]&&l[a];if(!i&&o)return o(e,!0);if(d)return d(e,!0);if(h&&"string"==typeof e)return h(e);var s=Error("Cannot find module '"+e+"'");throw s.code="MODULE_NOT_FOUND",s}p.resolve=function(i){var a=t[e][1][i];return null!=a?a:i},p.cache={};var r=u[e]=new m.Module(e);t[e][0].call(r.exports,p,r,r.exports,l)}return u[e].exports;function p(t){var e=p.resolve(t);return!1===e?{}:m(e)}}m.isParcelRequire=!0,m.Module=function(t){this.id=t,this.bundle=m,this.require=h,this.exports={}},m.modules=t,m.cache=u,m.parent=d,m.distDir=void 0,m.publicUrl=void 0,m.devServer=void 0,m.i=p,m.register=function(e,i){t[e]=[function(t,e){e.exports=i},{}]},Object.defineProperty(m,"root",{get:function(){return l[a]}}),l[a]=m;for(var c=0;c<e.length;c++)m(e[c]);if(i){var f=m(i);"object"==typeof exports&&"undefined"!=typeof module?module.exports=f:"function"==typeof define&&define.amd&&define(function(){return f})}}({"6ZbtA":[function(t,e,i,a){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(i),n.export(i,"default",()=>u);var o=t("./danmuku"),s=n.interopDefault(o),r=t("./heatmap"),l=n.interopDefault(r),d=t("./setting"),p=n.interopDefault(d);function u(t){return e=>{let i=new(0,s.default)(e,t),a=new(0,p.default)(e,i);return i.option.heatmap&&(0,l.default)(e,i,i.option.heatmap),{name:"artplayerPluginDanmuku",emit:i.emit.bind(i),load:i.load.bind(i),config:i.config.bind(i),hide:i.hide.bind(i),show:i.show.bind(i),reset:i.reset.bind(i),mount:a.mount.bind(a),get option(){return i.option},get isHide(){return i.isHide},get isStop(){return i.isStop}}}}u.icons=p.default.icons,"undefined"!=typeof window&&(window.artplayerPluginDanmuku=u)},{"./danmuku":"6C7g0","./heatmap":"h2ayY","./setting":"90QKZ","@parcel/transformer-js/src/esmodule-helpers.js":"5lQoW"}],"6C7g0":[function(t,e,i,a){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(i);var o=t("bundle-text:./worker"),s=n.interopDefault(o),r=t("./bilibili");class l{constructor(t,e){let{constructor:i,template:a}=t;this.utils=i.utils,this.validator=i.validator,this.$danmuku=a.$danmuku,this.$player=a.$player,this.art=t,this.queue=[],this.$refs=[],this.isStop=!1,this.isHide=!1,this.timer=null,this.index=0,this.option=l.option,this.states={wait:[],ready:[],emit:[],stop:[]},this.config(e,!0);let n=new Blob([s.default.replace("export{e as default};","")],{type:"application/javascript"});this.worker=new Worker(URL.createObjectURL(n)),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.reset=this.reset.bind(this),this.resize=this.resize.bind(this),this.destroy=this.destroy.bind(this),t.on("video:play",this.start),t.on("video:playing",this.start),t.on("video:pause",this.stop),t.on("video:waiting",this.stop),t.on("destroy",this.destroy),t.on("resize",this.resize),this.load()}static get option(){return{danmuku:[],speed:5,margin:[10,"25%"],opacity:1,color:"#FFFFFF",mode:0,modes:[0,1,2],fontSize:25,antiOverlap:!0,synchronousPlayback:!1,mount:void 0,heatmap:!1,width:512,points:[],filter:()=>!0,beforeEmit:()=>!0,beforeVisible:()=>!0,visible:!0,emitter:!0,maxLength:200,lockTime:5,theme:"dark",OPACITY:{},FONT_SIZE:{},MARGIN:{},SPEED:{},COLOR:[]}}static get scheme(){return{danmuku:"array|function|string",speed:"number",margin:"array",opacity:"number",color:"string",mode:"number",modes:"array",fontSize:"number|string",antiOverlap:"boolean",synchronousPlayback:"boolean",mount:"?htmldivelement|string",heatmap:"object|boolean",width:"number",points:"array",filter:"function",beforeEmit:"function",beforeVisible:"function",visible:"boolean",emitter:"boolean",maxLength:"number",lockTime:"number",theme:"string",OPACITY:"object",FONT_SIZE:"object",MARGIN:"object",SPEED:"object",COLOR:"array"}}static get cssText(){return` user-select: none; position: absolute; white-space: pre; pointer-events: none; perspective: 500px; display: inline-block; will-change: transform; font-weight: normal; line-height: 1.125; visibility: hidden; font-family: SimHei, "Microsoft JhengHei", Arial, Helvetica, sans-serif; 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; `}get isRotate(){return this.art.plugins?.autoOrientation?.state}get marginTop(){let{clamp:t}=this.utils,e=this.option.margin[0],{clientHeight:i}=this.$player;return"number"==typeof e?t(e,0,i):"string"==typeof e&&e.endsWith("%")?t(i*(Number.parseFloat(e)/100),0,i):l.option.margin[0]}get marginBottom(){let{clamp:t}=this.utils,e=this.option.margin[1],{clientHeight:i}=this.$player;return"number"==typeof e?t(e,0,i):"string"==typeof e&&e.endsWith("%")?t(i*(NLine truncated
|
||||
//# sourceMappingURL=artplayer-plugin-danmuku.esm.js.map
|
||||
@@ -1 +1 @@
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCIwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAJxB,IAAA,EAAA,EAAA,a,E,E,c,C,GACA,EAAA,EAAA,a,E,E,c,C,GACA,EAAA,EAAA,a,E,E,c,C,GAEe,SAAS,EAAuB,CAAM,EACjD,OAAO,AAAC,IACJ,IAAM,EAAU,GAAI,CAAA,EAAA,EAAA,OAAM,AAAN,EAAQ,EAAK,GAC3B,EAAU,GAAI,CAAA,EAAA,EAAA,OAAM,AAAN,EAAQ,EAAK,GAMjC,OAJI,EAAQ,MAAM,CAAC,OAAO,EACtB,AAAA,CAAA,EAAA,EAAA,OAAO,AAAP,EAAQ,EAAK,E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 truncated
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCIwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAJxB,IAAA,EAAA,EAAA,a,E,E,c,C,GACA,EAAA,EAAA,a,E,E,c,C,GACA,EAAA,EAAA,a,E,E,c,C,GAEe,SAAS,EAAuB,CAAM,EACnD,OAAO,AAAC,IACN,IAAM,EAAU,GAAI,CAAA,EAAA,EAAA,OAAM,AAAN,EAAQ,EAAK,GAC3B,EAAU,GAAI,CAAA,EAAA,EAAA,OAAM,AAAN,EAAQ,EAAK,GAMjC,OAJI,EAAQ,MAAM,CAAC,OAAO,EACxB,AAAA,CAAA,EAAA,EAAA,OAAO,AAAP,EAAQ,EAAK,EAAS,EAAQ,MAAM,CAAC,OAAO,EAGvC,CACL,KAAM,yBACN,KAAM,EAAQ,IAAI,CAAC,IAAI,CAAC,GACxB,KAAM,EAAQ,IAAI,CAAC,IAAI,CAAC,GACxB,OAAQ,EAAQ,MAAM,CAAC,IAAI,CAAC,GAC5B,KAAM,EAAQ,IAAI,CAAC,IAAI,CAAC,GACxB,KAAM,EAAQ,IAAI,CAAC,IAAI,CAAC,GACxB,MAAO,EAAQ,KAAK,CAAC,IAAI,CAAC,GAC1B,MAAO,EAAQ,KAAK,CAAC,IAAI,CAAC,GAC1B,IAAI,QAAS,CACX,OAAO,EAAQ,MAAM,AACvB,EACA,IAAI,QAAS,CACX,OAAO,EAAQ,MAAM,AACvB,EACA,IAAI,QAAS,CACX,OAAO,EAAQ,MAAM,AACvB,CACF,CACF,CACF,CAEA,EAAuB,KAAK,CAAG,AAAA,EAAA,OAAM,CAAE,KAAK,CAExC,AAAkB,aAAlB,OAAO,QACT,CAAA,OAAO,sBAAsB,CAAG,CADlC,C,E,C,Y,Q,Y,Q,Y,Q,iD,O,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCrCA,IAAA,EAAA,EAAA,wB,E,E,c,C,GACA,EAAA,EAAA,aAEe,OAAM,EACnB,YAAY,CAAG,CAAE,CAAM,CAAE,CACvB,GAAM,CAAE,YAAA,CAAW,CAAE,SAAA,CAAQ,CAAE,CAAG,CAElC,CAAA,IAAI,CAAC,KAAK,CAAG,EAAY,KAAK,CAC9B,IAAI,CAAC,SAAS,CAAG,EAAY,SAAS,CACtC,IAAI,CAAC,QAAQ,CAAG,EAAS,QAAQ,CACjC,IAAI,CAAC,OAAO,CAAG,EAAS,OAAO,CAE/B,IAAI,CAAC,GAAG,CAAG,EACX,IAAI,CAAC,KAAK,CAAG,EAAE,CACf,IAAI,CAAC,KAAK,CAAG,EAAE,CACf,IAAI,CAAC,MAAM,CAAG,CAAA,EACd,IAAI,CAAC,MAAM,CAAG,CAAA,EACd,IAAI,CAAC,KAAK,CAAG,KACb,IAAI,CAAC,KAAK,CAAG,EAGb,IAAI,CAAC,MAAM,CAAG,EAAQ,MAAM,CAG5B,IAAI,CAAC,MAAM,CAAG,CAAE,KAAM,EAAE,CAAE,MAAO,EAAE,CAAE,KAAM,EAAE,CAAE,KAAM,EAAE,AAAC,EAGxD,IAAI,CAAC,MAAM,CAAC,EAAQ,CAAA,GAIpB,IAAM,EAAO,IAAI,KAAK,CADF,AAAA,EAAA,OAAU,CAAC,OAAO,CAAC,wBAAyB,IAC7B,CAAE,CAAE,KAAM,wBAAyB,EACtE,CAAA,IAAI,CAAC,MAAM,CAAG,IAAI,OAAO,IAAI,eAAe,CAAC,IAG7C,IAAI,CAAC,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EACjC,IAAI,CAAC,IAAI,CAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAC/B,IAAI,CAAC,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EACjC,IAAI,CAAC,MAAM,CAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EACnC,IAAI,CAAC,OAAO,CAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAGrC,EAAI,EAAE,CAAC,aAAc,IAAI,CAAC,KAAK,EAC/B,EAAI,EAAE,CAAC,gBAAiB,IAAI,CAAC,KAAK,EAClC,EAAI,EAAE,CAAC,cAAe,IAAI,CAAC,IAAI,EAC/B,EAAI,EAAE,CAAC,gBAAiB,IAAI,CAAC,IAAI,EACjC,EAAI,EAAE,CAAC,UAAW,IAAI,CAAC,OAAO,EAC9B,EAAI,EAAE,CAAC,SAAU,IAAI,CAAC,MAAM,EAG5B,IAAI,CAAC,IAAI,EACX,CAGA,WAAW,QAAS,CAClB,MAAO,CACL,QAAS,EAAE,CACX,MAAO,EACP,OAAQ,CAAC,GAAI,MAAM,CACnB,QAAS,EACT,MAAO,UACP,KAAM,EACN,MAAO,CAAC,EAAG,EAAG,EAAE,CAChB,SAAU,GACV,YAAa,CAAA,EACb,oBAAqB,CAAA,EACrB,MAAO,KAAA,EACP,QAAS,CAAA,EACT,MAAO,IACP,OAAQ,EAAE,CACV,OAAQ,IAAM,CAAA,EACd,WAAY,IAAM,CAAA,EAClB,cAAe,IAAM,CAAA,EACrB,QAAS,CAAA,EACT,QAAS,CAAA,EACT,UAAW,IACX,SAAU,EACV,MAAO,OACP,QAAS,CAAC,EACV,UAAW,CAAC,EACZ,OAAQ,CAAC,EACT,MAAO,CAAC,EACR,MAAO,EAAE,AACX,CACF,CAGA,WAAW,QAAS,CAClB,MAAO,CACL,QAAS,wBACT,MAAO,SACP,OAAQ,QACR,QAAS,SACT,MAAO,SACP,KAAM,SACN,MAAO,QACP,SAAU,gBACV,YAAa,UACb,oBAAqB,UACrB,MAAO,yBACP,QAAS,iBACT,MAAO,SACP,OAAQ,QACR,OAAQ,WACR,WAAY,WACZ,cAAe,WACf,QAAS,UACT,QAAS,UACT,UAAW,SACX,SAAU,SACV,MAAO,SACP,QAAS,SACT,UAAW,SACX,OAAQ,SACR,MAAO,SACP,MAAO,OACT,CACF,CAGA,WAAW,SAAU,CACnB,MAAO;A;A;A;A;A;A;A;A;A;A;A;A;AAaH,QAAA,CAAC,AACP,CAGA,IAAI,UAAW,CACb,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,KAC5C,CAGA,IAAI,WAAY,CACd,GAAM,CAAE,MAAA,CAAK,CAAE,CAAG,IAAI,CAAC,KAAK,CACtB,EAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAC7B,CAAE,aAAA,CAAY,CAAE,CAAG,IAAI,CAAC,OAAO,OAErC,AAAI,AAAiB,UAAjB,OAAO,EACF,EAAM,EAAO,EAAG,GAGrB,AAAiB,UAAjB,OAAO,GAAsB,EAAM,QAAQ,CAAC,KAEvC,EAAM,EADC,CAAA,OAAO,UAAU,CAAC,GAAS,GAAzC,EACmC,EAAG,GAGjC,EAAQ,MAAM,CAAC,MAAM,CAAC,EAAE,AACjC,CAGA,IAAI,cAAe,CACjB,GAAM,CAAE,MAAA,CAAK,CAAE,CAAG,IAAI,CAAC,KAAK,CACtB,EAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAC7B,CAAE,aAAA,CAAY,CAAE,CAAG,IAAI,CAAC,OAAO,OAErC,AAAI,AAAiB,UAAjB,OAAO,EACF,EAAM,EAAO,EAAG,GAGrB,AAAiB,UAAjB,OAAO,GAAsB,EAAM,QAAQ,CAAC,KAEvC,EAAM,EADC,CAAA,OAAO,UAAU,CAAC,GAAS,GAAzC,EACmC,EAAG,GAGjC,EAAQ,MAAM,CAAC,MAAM,CAAC,EAAE,AACjC,CAGA,IAAI,UAAW,CACb,GAAM,CAAE,MAAA,CAAK,CAAE,CAAG,IAAI,CAAC,KAAK,CACtB,CAAE,aAAA,CAAY,CAAE,CAAG,IAAI,CAAC,OAAO,CAE/B,EAAW,IAAI,CAAC,MAAM,CAAC,QAAQ,OAErC,AAAI,AAAoB,UAApB,OAAO,EACF,KAAK,KAAK,CAAC,EAAM,EAAU,GAAI,IAGpC,Line truncated
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(t,e,i,a,n,o,s,l){var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof r[a]&&r[a],p=d.i||{},u=d.cache||{},h="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function m(e,i){if(!u[e]){if(!t[e]){if(n[e])return n[e];var o="function"==typeof r[a]&&r[a];if(!i&&o)return o(e,!0);if(d)return d(e,!0);if(h&&"string"==typeof e)return h(e);var s=Error("Cannot find module '"+e+"'");throw s.code="MODULE_NOT_FOUND",s}p.resolve=function(i){var a=t[e][1][i];return null!=a?a:i},p.cache={};var l=u[e]=new m.Module(e);t[e][0].call(l.exports,p,l,l.exports,r)}return u[e].exports;function p(t){var e=p.resolve(t);return!1===e?{}:m(e)}}m.isParcelRequire=!0,m.Module=function(t){this.id=t,this.bundle=m,this.require=h,this.exports={}},m.modules=t,m.cache=u,m.parent=d,m.distDir=void 0,m.publicUrl=void 0,m.devServer=void 0,m.i=p,m.register=function(e,i){t[e]=[function(t,e){e.exports=i},{}]},Object.defineProperty(m,"root",{get:function(){return r[a]}}),r[a]=m;for(var c=0;c<e.length;c++)m(e[c]);if(i){var f=m(i);"object"==typeof exports&&"undefined"!=typeof module?module.exports=f:"function"==typeof define&&define.amd&&define(function(){return f})}}({jz4E5:[function(t,e,i,a){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(i),n.export(i,"default",()=>u);var o=t("./danmuku"),s=n.interopDefault(o),l=t("./setting"),r=n.interopDefault(l),d=t("./heatmap"),p=n.interopDefault(d);function u(t){return e=>{let i=new(0,s.default)(e,t),a=new(0,r.default)(e,i);return i.option.heatmap&&(0,p.default)(e,i,i.option.heatmap),{name:"artplayerPluginDanmuku",emit:i.emit.bind(i),load:i.load.bind(i),config:i.config.bind(i),hide:i.hide.bind(i),show:i.show.bind(i),reset:i.reset.bind(i),mount:a.mount.bind(a),get option(){return i.option},get isHide(){return i.isHide},get isStop(){return i.isStop}}}}u.icons=r.default.icons,"undefined"!=typeof window&&(window.artplayerPluginDanmuku=u)},{"./danmuku":"3oV1P","./setting":"ddE7h","./heatmap":"falVu","@parcel/transformer-js/src/esmodule-helpers.js":"7o2zS"}],"3oV1P":[function(t,e,i,a){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(i);var o=t("./bilibili"),s=t("bundle-text:./worker"),l=n.interopDefault(s);class r{constructor(t,e){let{constructor:i,template:a}=t;this.utils=i.utils,this.validator=i.validator,this.$danmuku=a.$danmuku,this.$player=a.$player,this.art=t,this.queue=[],this.$refs=[],this.isStop=!1,this.isHide=!1,this.timer=null,this.index=0,this.option=r.option,this.states={wait:[],ready:[],emit:[],stop:[]},this.config(e,!0);let n=new Blob([l.default.replace("export{e as default};","")],{type:"application/javascript"});this.worker=new Worker(URL.createObjectURL(n)),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.reset=this.reset.bind(this),this.resize=this.resize.bind(this),this.destroy=this.destroy.bind(this),t.on("video:play",this.start),t.on("video:playing",this.start),t.on("video:pause",this.stop),t.on("video:waiting",this.stop),t.on("destroy",this.destroy),t.on("resize",this.resize),this.load()}static get option(){return{danmuku:[],speed:5,margin:[10,"25%"],opacity:1,color:"#FFFFFF",mode:0,modes:[0,1,2],fontSize:25,antiOverlap:!0,synchronousPlayback:!1,mount:void 0,heatmap:!1,width:512,points:[],filter:()=>!0,beforeEmit:()=>!0,beforeVisible:()=>!0,visible:!0,emitter:!0,maxLength:200,lockTime:5,theme:"dark",OPACITY:{},FONT_SIZE:{},MARGIN:{},SPEED:{},COLOR:[]}}static get scheme(){return{danmuku:"array|function|string",speed:"number",margin:"array",opacity:"number",color:"string",mode:"number",modes:"array",fontSize:"number|string",antiOverlap:"boolean",synchronousPlayback:"boolean",mount:"?htmldivelement|string",heatmap:"object|boolean",width:"number",points:"array",filter:"function",beforeEmit:"function",beforeVisible:"function",visible:"boolean",emitter:"boolean",maxLength:"number",lockTime:"number",theme:"string",OPACITY:"object",FONT_SIZE:"object",MARGIN:"object",SPEED:"object",COLOR:"array"}}static get cssText(){return` user-select: none; position: absolute; white-space: pre; pointer-events: none; perspective: 500px; display: inline-block; will-change: transform; font-weight: normal; line-height: 1.125; visibility: hidden; font-family: SimHei, "Microsoft JhengHei", Arial, Helvetica, sans-serif; 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; `}get isRotate(){return this.art.plugins?.autoOrientation?.state}get marginTop(){let{clamp:t}=this.utils,e=this.option.margin[0],{clientHeight:i}=this.$player;return"number"==typeof e?t(e,0,i):"string"==typeof e&&e.endsWith("%")?t(i*(parseFloat(e)/100),0,i):r.option.margin[0]}get marginBottom(){let{clamp:t}=this.utils,e=this.option.margin[1],{clientHeight:i}=this.$player;return"number"==typeof e?t(e,0,i):"string"==typeof e&&e.endsWith("%")?t(i*(parseFloatLine truncated
|
||||
!function(t,e,i,a,n,o,s,r){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof l[a]&&l[a],p=d.i||{},u=d.cache||{},h="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function m(e,i){if(!u[e]){if(!t[e]){if(n[e])return n[e];var o="function"==typeof l[a]&&l[a];if(!i&&o)return o(e,!0);if(d)return d(e,!0);if(h&&"string"==typeof e)return h(e);var s=Error("Cannot find module '"+e+"'");throw s.code="MODULE_NOT_FOUND",s}p.resolve=function(i){var a=t[e][1][i];return null!=a?a:i},p.cache={};var r=u[e]=new m.Module(e);t[e][0].call(r.exports,p,r,r.exports,l)}return u[e].exports;function p(t){var e=p.resolve(t);return!1===e?{}:m(e)}}m.isParcelRequire=!0,m.Module=function(t){this.id=t,this.bundle=m,this.require=h,this.exports={}},m.modules=t,m.cache=u,m.parent=d,m.distDir=void 0,m.publicUrl=void 0,m.devServer=void 0,m.i=p,m.register=function(e,i){t[e]=[function(t,e){e.exports=i},{}]},Object.defineProperty(m,"root",{get:function(){return l[a]}}),l[a]=m;for(var c=0;c<e.length;c++)m(e[c]);if(i){var f=m(i);"object"==typeof exports&&"undefined"!=typeof module?module.exports=f:"function"==typeof define&&define.amd&&define(function(){return f})}}({"666Ok":[function(t,e,i,a){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(i),n.export(i,"default",()=>u);var o=t("./danmuku"),s=n.interopDefault(o),r=t("./heatmap"),l=n.interopDefault(r),d=t("./setting"),p=n.interopDefault(d);function u(t){return e=>{let i=new(0,s.default)(e,t),a=new(0,p.default)(e,i);return i.option.heatmap&&(0,l.default)(e,i,i.option.heatmap),{name:"artplayerPluginDanmuku",emit:i.emit.bind(i),load:i.load.bind(i),config:i.config.bind(i),hide:i.hide.bind(i),show:i.show.bind(i),reset:i.reset.bind(i),mount:a.mount.bind(a),get option(){return i.option},get isHide(){return i.isHide},get isStop(){return i.isStop}}}}u.icons=p.default.icons,"undefined"!=typeof window&&(window.artplayerPluginDanmuku=u)},{"./danmuku":"g81Wu","./heatmap":"hjtgU","./setting":"ho690","@parcel/transformer-js/src/esmodule-helpers.js":"6ykb1"}],g81Wu:[function(t,e,i,a){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(i);var o=t("bundle-text:./worker"),s=n.interopDefault(o),r=t("./bilibili");class l{constructor(t,e){let{constructor:i,template:a}=t;this.utils=i.utils,this.validator=i.validator,this.$danmuku=a.$danmuku,this.$player=a.$player,this.art=t,this.queue=[],this.$refs=[],this.isStop=!1,this.isHide=!1,this.timer=null,this.index=0,this.option=l.option,this.states={wait:[],ready:[],emit:[],stop:[]},this.config(e,!0);let n=new Blob([s.default.replace("export{e as default};","")],{type:"application/javascript"});this.worker=new Worker(URL.createObjectURL(n)),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.reset=this.reset.bind(this),this.resize=this.resize.bind(this),this.destroy=this.destroy.bind(this),t.on("video:play",this.start),t.on("video:playing",this.start),t.on("video:pause",this.stop),t.on("video:waiting",this.stop),t.on("destroy",this.destroy),t.on("resize",this.resize),this.load()}static get option(){return{danmuku:[],speed:5,margin:[10,"25%"],opacity:1,color:"#FFFFFF",mode:0,modes:[0,1,2],fontSize:25,antiOverlap:!0,synchronousPlayback:!1,mount:void 0,heatmap:!1,width:512,points:[],filter:()=>!0,beforeEmit:()=>!0,beforeVisible:()=>!0,visible:!0,emitter:!0,maxLength:200,lockTime:5,theme:"dark",OPACITY:{},FONT_SIZE:{},MARGIN:{},SPEED:{},COLOR:[]}}static get scheme(){return{danmuku:"array|function|string",speed:"number",margin:"array",opacity:"number",color:"string",mode:"number",modes:"array",fontSize:"number|string",antiOverlap:"boolean",synchronousPlayback:"boolean",mount:"?htmldivelement|string",heatmap:"object|boolean",width:"number",points:"array",filter:"function",beforeEmit:"function",beforeVisible:"function",visible:"boolean",emitter:"boolean",maxLength:"number",lockTime:"number",theme:"string",OPACITY:"object",FONT_SIZE:"object",MARGIN:"object",SPEED:"object",COLOR:"array"}}static get cssText(){return` user-select: none; position: absolute; white-space: pre; pointer-events: none; perspective: 500px; display: inline-block; will-change: transform; font-weight: normal; line-height: 1.125; visibility: hidden; font-family: SimHei, "Microsoft JhengHei", Arial, Helvetica, sans-serif; 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; `}get isRotate(){return this.art.plugins?.autoOrientation?.state}get marginTop(){let{clamp:t}=this.utils,e=this.option.margin[0],{clientHeight:i}=this.$player;return"number"==typeof e?t(e,0,i):"string"==typeof e&&e.endsWith("%")?t(i*(Number.parseFloat(e)/100),0,i):l.option.margin[0]}get marginBottom(){let{clamp:t}=this.utils,e=this.option.margin[1],{clientHeight:i}=this.$player;return"number"==typeof e?t(e,0,i):"string"==typeof e&&e.endsWith("%")?t(i*(NumLine truncated
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,n,r,a,i,o,s){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof l[r]&&l[r],c=u.i||{},d=u.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,n){if(!d[t]){if(!e[t]){if(a[t])return a[t];var i="function"==typeof l[r]&&l[r];if(!n&&i)return i(t,!0);if(u)return u(t,!0);if(p&&"string"==typeof t)return p(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}c.resolve=function(n){var r=e[t][1][n];return null!=r?r:n},c.cache={};var s=d[t]=new f.Module(t);e[t][0].call(s.exports,c,s,s.exports,l)}return d[t].exports;function c(e){var t=c.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=p,this.exports={}},f.modules=e,f.cache=d,f.parent=u,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=c,f.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(f,"root",{get:function(){return l[r]}}),l[r]=f;for(var h=0;h<t.length;h++)f(t[h]);if(n){var m=f(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({bzF6W:[function(e,t,n,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(n),a.export(n,"default",function(){return d});var i=e("./danmuku"),o=a.interopDefault(i),s=e("./setting"),l=a.interopDefault(s),u=e("./heatmap"),c=a.interopDefault(u);function d(e){return function(t){var n=new(0,o.default)(t,e),r=new(0,l.default)(t,n);return n.option.heatmap&&(0,c.default)(t,n,n.option.heatmap),{name:"artplayerPluginDanmuku",emit:n.emit.bind(n),load:n.load.bind(n),config:n.config.bind(n),hide:n.hide.bind(n),show:n.show.bind(n),reset:n.reset.bind(n),mount:r.mount.bind(r),get option(){return n.option},get isHide(){return n.isHide},get isStop(){return n.isStop}}}}d.icons=l.default.icons,"undefined"!=typeof window&&(window.artplayerPluginDanmuku=d)},{"./danmuku":"atzAj","./setting":"1ROJF","./heatmap":"4srjK","@parcel/transformer-js/src/esmodule-helpers.js":"ihnSZ"}],atzAj:[function(e,t,n,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(n),a.export(n,"default",function(){return h});var i=e("@swc/helpers/cjs/_async_to_generator.cjs"),o=e("@swc/helpers/cjs/_class_call_check.cjs"),s=e("@swc/helpers/cjs/_create_class.cjs"),l=e("@swc/helpers/cjs/_object_spread.cjs"),u=e("@swc/helpers/cjs/_object_spread_props.cjs"),c=e("@swc/helpers/cjs/_ts_generator.cjs"),d=e("./bilibili"),p=e("bundle-text:./worker"),f=a.interopDefault(p),h=function(){"use strict";function e(t,n){(0,o._)(this,e);var r=t.constructor,a=t.template;this.utils=r.utils,this.validator=r.validator,this.$danmuku=a.$danmuku,this.$player=a.$player,this.art=t,this.queue=[],this.$refs=[],this.isStop=!1,this.isHide=!1,this.timer=null,this.index=0,this.option=e.option,this.states={wait:[],ready:[],emit:[],stop:[]},this.config(n,!0);var i=new Blob([f.default.replace("export{e as default};","")],{type:"application/javascript"});this.worker=new Worker(URL.createObjectURL(i)),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.reset=this.reset.bind(this),this.resize=this.resize.bind(this),this.destroy=this.destroy.bind(this),t.on("video:play",this.start),t.on("video:playing",this.start),t.on("video:pause",this.stop),t.on("video:waiting",this.stop),t.on("destroy",this.destroy),t.on("resize",this.resize),this.load()}return(0,s._)(e,[{key:"isRotate",get:function(){var e,t;return null==(t=this.art.plugins)||null==(e=t.autoOrientation)?void 0:e.state}},{key:"marginTop",get:function(){var t=this.utils.clamp,n=this.option.margin[0],r=this.$player.clientHeight;return"number"==typeof n?t(n,0,r):"string"==typeof n&&n.endsWith("%")?t(r*(parseFloat(n)/100),0,r):e.option.margin[0]}},{key:"marginBottom",get:function(){var t=this.utils.clamp,n=this.option.margin[1],r=this.$player.clientHeight;return"number"==typeof n?t(n,0,r):"string"==typeof n&&n.endsWith("%")?t(r*(parseFloat(n)/100),0,r):e.option.margin[1]}},{key:"fontSize",get:function(){var t=this.utils.clamp,n=this.$player.clientHeight,r=this.option.fontSize;return"number"==typeof r?Math.round(t(r,12,n)):"string"==typeof r&&r.endsWith("%")?Math.round(t(n*(parseFloat(r)/100),12,n)):e.option.fontSize}},{key:"$ref",get:function(){var t=this.$refs.pop()||document.createElement("div");return t.style.cssText=e.cssText,t.dataset.mode="",t.className="",t}},{key:"readys",get:function(){var e=this.art.currentTime,t=[];return this.filter("ready",function(e){return t.push(e)}),this.filter("wait",function(n){e+.1>=n.time&&n.time>=e-.1&&t.push(n)}),t}},{key:"visibles",get:function(){var e=this,t=[],n=this.$player.clientWidth,r=this.getLeft(this.$player);return this.filter("emit",function(a){var i=a.$ref.offsetTop,o=e.getLeft(a.$ref)-r,s=a.$ref.clientHeight,l=a.$ref.clientWidth,u=o+l,c=u/a.$restTimLine truncated
|
||||
!function(e,t,n,r,a,i,o,s){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof l[r]&&l[r],c=u.i||{},d=u.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,n){if(!d[t]){if(!e[t]){if(a[t])return a[t];var i="function"==typeof l[r]&&l[r];if(!n&&i)return i(t,!0);if(u)return u(t,!0);if(p&&"string"==typeof t)return p(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}c.resolve=function(n){var r=e[t][1][n];return null!=r?r:n},c.cache={};var s=d[t]=new f.Module(t);e[t][0].call(s.exports,c,s,s.exports,l)}return d[t].exports;function c(e){var t=c.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=p,this.exports={}},f.modules=e,f.cache=d,f.parent=u,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=c,f.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(f,"root",{get:function(){return l[r]}}),l[r]=f;for(var h=0;h<t.length;h++)f(t[h]);if(n){var m=f(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({l3CkF:[function(e,t,n,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(n),a.export(n,"default",function(){return d});var i=e("./danmuku"),o=a.interopDefault(i),s=e("./heatmap"),l=a.interopDefault(s),u=e("./setting"),c=a.interopDefault(u);function d(e){return function(t){var n=new(0,o.default)(t,e),r=new(0,c.default)(t,n);return n.option.heatmap&&(0,l.default)(t,n,n.option.heatmap),{name:"artplayerPluginDanmuku",emit:n.emit.bind(n),load:n.load.bind(n),config:n.config.bind(n),hide:n.hide.bind(n),show:n.show.bind(n),reset:n.reset.bind(n),mount:r.mount.bind(r),get option(){return n.option},get isHide(){return n.isHide},get isStop(){return n.isStop}}}}d.icons=c.default.icons,"undefined"!=typeof window&&(window.artplayerPluginDanmuku=d)},{"./danmuku":"u1ZRC","./heatmap":"hLPK6","./setting":"jpEpW","@parcel/transformer-js/src/esmodule-helpers.js":"qpMMf"}],u1ZRC:[function(e,t,n,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(n),a.export(n,"default",function(){return h});var i=e("@swc/helpers/cjs/_async_to_generator.cjs"),o=e("@swc/helpers/cjs/_class_call_check.cjs"),s=e("@swc/helpers/cjs/_create_class.cjs"),l=e("@swc/helpers/cjs/_object_spread.cjs"),u=e("@swc/helpers/cjs/_object_spread_props.cjs"),c=e("@swc/helpers/cjs/_ts_generator.cjs"),d=e("bundle-text:./worker"),p=a.interopDefault(d),f=e("./bilibili"),h=function(){"use strict";function e(t,n){(0,o._)(this,e);var r=t.constructor,a=t.template;this.utils=r.utils,this.validator=r.validator,this.$danmuku=a.$danmuku,this.$player=a.$player,this.art=t,this.queue=[],this.$refs=[],this.isStop=!1,this.isHide=!1,this.timer=null,this.index=0,this.option=e.option,this.states={wait:[],ready:[],emit:[],stop:[]},this.config(n,!0);var i=new Blob([p.default.replace("export{e as default};","")],{type:"application/javascript"});this.worker=new Worker(URL.createObjectURL(i)),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.reset=this.reset.bind(this),this.resize=this.resize.bind(this),this.destroy=this.destroy.bind(this),t.on("video:play",this.start),t.on("video:playing",this.start),t.on("video:pause",this.stop),t.on("video:waiting",this.stop),t.on("destroy",this.destroy),t.on("resize",this.resize),this.load()}return(0,s._)(e,[{key:"isRotate",get:function(){var e,t;return null==(t=this.art.plugins)||null==(e=t.autoOrientation)?void 0:e.state}},{key:"marginTop",get:function(){var t=this.utils.clamp,n=this.option.margin[0],r=this.$player.clientHeight;return"number"==typeof n?t(n,0,r):"string"==typeof n&&n.endsWith("%")?t(r*(Number.parseFloat(n)/100),0,r):e.option.margin[0]}},{key:"marginBottom",get:function(){var t=this.utils.clamp,n=this.option.margin[1],r=this.$player.clientHeight;return"number"==typeof n?t(n,0,r):"string"==typeof n&&n.endsWith("%")?t(r*(Number.parseFloat(n)/100),0,r):e.option.margin[1]}},{key:"fontSize",get:function(){var t=this.utils.clamp,n=this.$player.clientHeight,r=this.option.fontSize;return"number"==typeof r?Math.round(t(r,12,n)):"string"==typeof r&&r.endsWith("%")?Math.round(t(n*(Number.parseFloat(r)/100),12,n)):e.option.fontSize}},{key:"$ref",get:function(){var t=this.$refs.pop()||document.createElement("div");return t.style.cssText=e.cssText,t.dataset.mode="",t.className="",t}},{key:"readys",get:function(){var e=this.art.currentTime,t=[];return this.filter("ready",function(e){return t.push(e)}),this.filter("wait",function(n){e+.1>=n.time&&n.time>=e-.1&&t.push(n)}),t}},{key:"visibles",get:function(){var e=this,t=[],n=this.$player.clientWidth,r=this.getLeft(this.$player);return this.filter("emit",function(a){var i=a.$ref.offsetTop,o=e.getLeft(a.$ref)-r,s=a.$ref.clientHeight,l=a.$ref.clientWidthLine truncated
|
||||
@@ -1,24 +1,24 @@
|
||||
{
|
||||
"license": "MIT",
|
||||
"version": "5.1.8",
|
||||
"name": "artplayer-plugin-danmuku",
|
||||
"types": "types/artplayer-plugin-danmuku.d.ts",
|
||||
"description": "Danmuku plugin for ArtPlayer",
|
||||
"main": "dist/artplayer-plugin-danmuku.js",
|
||||
"legacy": "dist/artplayer-plugin-danmuku.legacy.js",
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
]
|
||||
"name": "artplayer-plugin-danmuku",
|
||||
"version": "5.1.8",
|
||||
"description": "Danmuku plugin for ArtPlayer",
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"license": "MIT",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"main": "dist/artplayer-plugin-danmuku.js",
|
||||
"types": "types/artplayer-plugin-danmuku.d.ts",
|
||||
"legacy": "dist/artplayer-plugin-danmuku.legacy.js",
|
||||
"browserslist": "last 1 Chrome version"
|
||||
}
|
||||
@@ -1,88 +1,93 @@
|
||||
function getMode(key) {
|
||||
switch (key) {
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
return 0;
|
||||
case 4:
|
||||
return 2;
|
||||
case 5:
|
||||
return 1;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
switch (key) {
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
return 0
|
||||
case 4:
|
||||
return 2
|
||||
case 5:
|
||||
return 1
|
||||
default:
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
function bilibiliDanmuParseFromXml(xmlString) {
|
||||
if (typeof xmlString !== 'string') return [];
|
||||
const reg = new RegExp(/<d (?:.*? )??p="(?<p>.+?)"(?: .*?)?>(?<text>.+?)<\/d>/gs);
|
||||
const matches = xmlString.matchAll(reg);
|
||||
return Array.from(matches)
|
||||
.map((match) => {
|
||||
const attr = match.groups.p.split(',');
|
||||
if (attr.length >= 8) {
|
||||
const text = match.groups.text
|
||||
.trim()
|
||||
.replaceAll('"', '"')
|
||||
.replaceAll(''', "'")
|
||||
.replaceAll('<', '<')
|
||||
.replaceAll('>', '>')
|
||||
.replaceAll('&', '&');
|
||||
if (typeof xmlString !== 'string')
|
||||
return []
|
||||
const reg = /<d[^>]*?p="(?<p>[^"]+)"[^>]*>(?<text>.*?)<\/d>/gs
|
||||
const matches = xmlString.matchAll(reg)
|
||||
return Array.from(matches)
|
||||
.map((match) => {
|
||||
const attr = match.groups.p.split(',')
|
||||
if (attr.length >= 8) {
|
||||
const text = match.groups.text
|
||||
.trim()
|
||||
.replaceAll('"', '"')
|
||||
.replaceAll(''', '\'')
|
||||
.replaceAll('<', '<')
|
||||
.replaceAll('>', '>')
|
||||
.replaceAll('&', '&')
|
||||
|
||||
return {
|
||||
text,
|
||||
time: Number(attr[0]),
|
||||
mode: getMode(Number(attr[1])),
|
||||
fontSize: Number(attr[2]),
|
||||
color: `#${Number(attr[3]).toString(16)}`,
|
||||
timestamp: Number(attr[4]),
|
||||
pool: Number(attr[5]),
|
||||
userID: attr[6],
|
||||
rowID: Number(attr[7]),
|
||||
};
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})
|
||||
.filter(Boolean);
|
||||
return {
|
||||
text,
|
||||
time: Number(attr[0]),
|
||||
mode: getMode(Number(attr[1])),
|
||||
fontSize: Number(attr[2]),
|
||||
color: `#${Number(attr[3]).toString(16)}`,
|
||||
timestamp: Number(attr[4]),
|
||||
pool: Number(attr[5]),
|
||||
userID: attr[6],
|
||||
rowID: Number(attr[7]),
|
||||
}
|
||||
}
|
||||
else {
|
||||
return null
|
||||
}
|
||||
})
|
||||
.filter(Boolean)
|
||||
}
|
||||
|
||||
function onmessage({ data }) {
|
||||
const { xml, id } = data;
|
||||
if (!id || !xml) return;
|
||||
const danmus = bilibiliDanmuParseFromXml(xml);
|
||||
self.postMessage({ danmus, id });
|
||||
const { xml, id } = data
|
||||
if (!id || !xml)
|
||||
return
|
||||
const danmus = bilibiliDanmuParseFromXml(xml)
|
||||
globalThis.postMessage({ danmus, id })
|
||||
}
|
||||
|
||||
function createWorker() {
|
||||
const workerText = `
|
||||
const workerText = `
|
||||
${getMode.toString()}
|
||||
${bilibiliDanmuParseFromXml.toString()}
|
||||
onmessage = ${onmessage.toString()}
|
||||
`;
|
||||
const blob = new Blob([workerText], { type: 'application/javascript' });
|
||||
return new Worker(URL.createObjectURL(blob));
|
||||
`
|
||||
const blob = new Blob([workerText], { type: 'application/javascript' })
|
||||
return new Worker(URL.createObjectURL(blob))
|
||||
}
|
||||
|
||||
export function bilibiliDanmuParseFromUrl(url) {
|
||||
// eslint-disable-next-line no-async-promise-executor
|
||||
return new Promise(async (resolve) => {
|
||||
const res = await fetch(url);
|
||||
const xml = await res.text();
|
||||
// eslint-disable-next-line no-async-promise-executor
|
||||
return new Promise(async (resolve) => {
|
||||
const res = await fetch(url)
|
||||
const xml = await res.text()
|
||||
|
||||
try {
|
||||
const worker = createWorker();
|
||||
worker.onmessage = (event) => {
|
||||
const { danmus, id } = event.data;
|
||||
if (!id || !danmus) return;
|
||||
resolve(danmus);
|
||||
worker.terminate();
|
||||
};
|
||||
worker.postMessage({ xml, id: Date.now() });
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
} catch (error) {
|
||||
const danmus = bilibiliDanmuParseFromXml(xml);
|
||||
resolve(danmus);
|
||||
}
|
||||
});
|
||||
try {
|
||||
const worker = createWorker()
|
||||
worker.onmessage = (event) => {
|
||||
const { danmus, id } = event.data
|
||||
if (!id || !danmus)
|
||||
return
|
||||
resolve(danmus)
|
||||
worker.terminate()
|
||||
}
|
||||
worker.postMessage({ xml, id: Date.now() })
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Error parsing Bilibili Danmu:', error)
|
||||
const danmus = bilibiliDanmuParseFromXml(xml)
|
||||
resolve(danmus)
|
||||
}
|
||||
})
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,146 +1,149 @@
|
||||
const lib = {
|
||||
map(value, inMin, inMax, outMin, outMax) {
|
||||
return ((value - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;
|
||||
},
|
||||
range(start, end, tick) {
|
||||
const s = Math.round(start / tick) * tick;
|
||||
return Array.from(
|
||||
{
|
||||
length: Math.floor((end - start) / tick),
|
||||
},
|
||||
(v, k) => {
|
||||
return k * tick + s;
|
||||
},
|
||||
);
|
||||
},
|
||||
};
|
||||
map(value, inMin, inMax, outMin, outMax) {
|
||||
return ((value - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin
|
||||
},
|
||||
range(start, end, tick) {
|
||||
const s = Math.round(start / tick) * tick
|
||||
return Array.from(
|
||||
{
|
||||
length: Math.floor((end - start) / tick),
|
||||
},
|
||||
(v, k) => {
|
||||
return k * tick + s
|
||||
},
|
||||
)
|
||||
},
|
||||
}
|
||||
|
||||
const line = (pointA, pointB) => {
|
||||
const lengthX = pointB[0] - pointA[0];
|
||||
const lengthY = pointB[1] - pointA[1];
|
||||
return {
|
||||
length: Math.sqrt(Math.pow(lengthX, 2) + Math.pow(lengthY, 2)),
|
||||
angle: Math.atan2(lengthY, lengthX),
|
||||
};
|
||||
};
|
||||
function line(pointA, pointB) {
|
||||
const lengthX = pointB[0] - pointA[0]
|
||||
const lengthY = pointB[1] - pointA[1]
|
||||
return {
|
||||
length: Math.sqrt(lengthX ** 2 + lengthY ** 2),
|
||||
angle: Math.atan2(lengthY, lengthX),
|
||||
}
|
||||
}
|
||||
|
||||
export default function heatmap(art, danmuku, option) {
|
||||
const { query } = art.constructor.utils;
|
||||
const { query } = art.constructor.utils
|
||||
|
||||
art.controls.add({
|
||||
name: 'heatmap',
|
||||
position: 'top',
|
||||
html: '',
|
||||
style: {
|
||||
position: 'absolute',
|
||||
top: '-100px',
|
||||
left: '0px',
|
||||
right: '0px',
|
||||
height: '100px',
|
||||
width: '100%',
|
||||
pointerEvents: 'none',
|
||||
},
|
||||
mounted($heatmap) {
|
||||
let $start = null;
|
||||
let $stop = null;
|
||||
art.controls.add({
|
||||
name: 'heatmap',
|
||||
position: 'top',
|
||||
html: '',
|
||||
style: {
|
||||
position: 'absolute',
|
||||
top: '-100px',
|
||||
left: '0px',
|
||||
right: '0px',
|
||||
height: '100px',
|
||||
width: '100%',
|
||||
pointerEvents: 'none',
|
||||
},
|
||||
mounted($heatmap) {
|
||||
let $start = null
|
||||
let $stop = null
|
||||
|
||||
function update(arg = []) {
|
||||
$start = null;
|
||||
$stop = null;
|
||||
$heatmap.innerHTML = '';
|
||||
function update(arg = []) {
|
||||
$start = null
|
||||
$stop = null
|
||||
$heatmap.innerHTML = ''
|
||||
|
||||
if (!art.duration || art.option.isLive) return;
|
||||
if (!art.duration || art.option.isLive)
|
||||
return
|
||||
|
||||
const svg = {
|
||||
w: $heatmap.offsetWidth,
|
||||
h: $heatmap.offsetHeight,
|
||||
};
|
||||
const svg = {
|
||||
w: $heatmap.offsetWidth,
|
||||
h: $heatmap.offsetHeight,
|
||||
}
|
||||
|
||||
const options = {
|
||||
xMin: 0,
|
||||
xMax: svg.w,
|
||||
yMin: 0,
|
||||
yMax: 128,
|
||||
scale: 0.25,
|
||||
opacity: 0.2,
|
||||
minHeight: Math.floor(svg.h * 0.05),
|
||||
sampling: Math.floor(svg.w / 100),
|
||||
smoothing: 0.2,
|
||||
flattening: 0.2,
|
||||
};
|
||||
const options = {
|
||||
xMin: 0,
|
||||
xMax: svg.w,
|
||||
yMin: 0,
|
||||
yMax: 128,
|
||||
scale: 0.25,
|
||||
opacity: 0.2,
|
||||
minHeight: Math.floor(svg.h * 0.05),
|
||||
sampling: Math.floor(svg.w / 100),
|
||||
smoothing: 0.2,
|
||||
flattening: 0.2,
|
||||
}
|
||||
|
||||
if (typeof option === 'object') {
|
||||
Object.assign(options, option);
|
||||
}
|
||||
if (typeof option === 'object') {
|
||||
Object.assign(options, option)
|
||||
}
|
||||
|
||||
let points = [];
|
||||
let points = []
|
||||
|
||||
if (Array.isArray(arg) && arg.length) {
|
||||
points = [...arg];
|
||||
} else {
|
||||
const gap = art.duration / svg.w;
|
||||
for (let x = 0; x <= svg.w; x += options.sampling) {
|
||||
const y = danmuku.queue.filter(
|
||||
({ time }) => time > x * gap && time <= (x + options.sampling) * gap,
|
||||
).length;
|
||||
points.push([x, y]);
|
||||
}
|
||||
}
|
||||
if (Array.isArray(arg) && arg.length) {
|
||||
points = [...arg]
|
||||
}
|
||||
else {
|
||||
const gap = art.duration / svg.w
|
||||
for (let x = 0; x <= svg.w; x += options.sampling) {
|
||||
const y = danmuku.queue.filter(
|
||||
({ time }) => time > x * gap && time <= (x + options.sampling) * gap,
|
||||
).length
|
||||
points.push([x, y])
|
||||
}
|
||||
}
|
||||
|
||||
if (points.length === 0) return;
|
||||
if (points.length === 0)
|
||||
return
|
||||
|
||||
const lastPoint = points[points.length - 1];
|
||||
const lastX = lastPoint[0];
|
||||
const lastY = lastPoint[1];
|
||||
if (lastX !== svg.w) {
|
||||
points.push([svg.w, lastY]);
|
||||
}
|
||||
const lastPoint = points[points.length - 1]
|
||||
const lastX = lastPoint[0]
|
||||
const lastY = lastPoint[1]
|
||||
if (lastX !== svg.w) {
|
||||
points.push([svg.w, lastY])
|
||||
}
|
||||
|
||||
const yPoints = points.map((point) => point[1]);
|
||||
const yMin = Math.min(...yPoints);
|
||||
const yMax = Math.max(...yPoints);
|
||||
const yMid = (yMin + yMax) / 2;
|
||||
const yPoints = points.map(point => point[1])
|
||||
const yMin = Math.min(...yPoints)
|
||||
const yMax = Math.max(...yPoints)
|
||||
const yMid = (yMin + yMax) / 2
|
||||
|
||||
for (let i = 0; i < points.length; i++) {
|
||||
const point = points[i];
|
||||
const y = point[1];
|
||||
point[1] = y * (y > yMid ? 1 + options.scale : 1 - options.scale) + options.minHeight;
|
||||
}
|
||||
for (let i = 0; i < points.length; i++) {
|
||||
const point = points[i]
|
||||
const y = point[1]
|
||||
point[1] = y * (y > yMid ? 1 + options.scale : 1 - options.scale) + options.minHeight
|
||||
}
|
||||
|
||||
const controlPoint = (current, previous, next, reverse) => {
|
||||
const p = previous || current;
|
||||
const n = next || current;
|
||||
const o = line(p, n);
|
||||
const flat = lib.map(Math.cos(o.angle) * options.flattening, 0, 1, 1, 0);
|
||||
const angle = o.angle * flat + (reverse ? Math.PI : 0);
|
||||
const length = o.length * options.smoothing;
|
||||
const x = current[0] + Math.cos(angle) * length;
|
||||
const y = current[1] + Math.sin(angle) * length;
|
||||
return [x, y];
|
||||
};
|
||||
const controlPoint = (current, previous, next, reverse) => {
|
||||
const p = previous || current
|
||||
const n = next || current
|
||||
const o = line(p, n)
|
||||
const flat = lib.map(Math.cos(o.angle) * options.flattening, 0, 1, 1, 0)
|
||||
const angle = o.angle * flat + (reverse ? Math.PI : 0)
|
||||
const length = o.length * options.smoothing
|
||||
const x = current[0] + Math.cos(angle) * length
|
||||
const y = current[1] + Math.sin(angle) * length
|
||||
return [x, y]
|
||||
}
|
||||
|
||||
const bezierCommand = (point, i, a) => {
|
||||
const cps = controlPoint(a[i - 1], a[i - 2], point);
|
||||
const cpe = controlPoint(point, a[i - 1], a[i + 1], true);
|
||||
const close = i === a.length - 1 ? ' z' : '';
|
||||
return `C ${cps[0]},${cps[1]} ${cpe[0]},${cpe[1]} ${point[0]},${point[1]}${close}`;
|
||||
};
|
||||
const bezierCommand = (point, i, a) => {
|
||||
const cps = controlPoint(a[i - 1], a[i - 2], point)
|
||||
const cpe = controlPoint(point, a[i - 1], a[i + 1], true)
|
||||
const close = i === a.length - 1 ? ' z' : ''
|
||||
return `C ${cps[0]},${cps[1]} ${cpe[0]},${cpe[1]} ${point[0]},${point[1]}${close}`
|
||||
}
|
||||
|
||||
const pointsPositions = points.map((e) => {
|
||||
const x = lib.map(e[0], options.xMin, options.xMax, 0, svg.w);
|
||||
const y = lib.map(e[1], options.yMin, options.yMax, svg.h, 0);
|
||||
return [x, y];
|
||||
});
|
||||
const pointsPositions = points.map((e) => {
|
||||
const x = lib.map(e[0], options.xMin, options.xMax, 0, svg.w)
|
||||
const y = lib.map(e[1], options.yMin, options.yMax, svg.h, 0)
|
||||
return [x, y]
|
||||
})
|
||||
|
||||
const pathD = pointsPositions.reduce(
|
||||
(acc, e, i, a) =>
|
||||
i === 0
|
||||
? `M ${a[a.length - 1][0]},${svg.h} L ${e[0]},${svg.h} L ${e[0]},${e[1]}`
|
||||
: `${acc} ${bezierCommand(e, i, a)}`,
|
||||
'',
|
||||
);
|
||||
const pathD = pointsPositions.reduce(
|
||||
(acc, e, i, a) =>
|
||||
i === 0
|
||||
? `M ${a[a.length - 1][0]},${svg.h} L ${e[0]},${svg.h} L ${e[0]},${e[1]}`
|
||||
: `${acc} ${bezierCommand(e, i, a)}`,
|
||||
'',
|
||||
)
|
||||
|
||||
$heatmap.innerHTML = `
|
||||
$heatmap.innerHTML = `
|
||||
<svg viewBox="0 0 ${svg.w} ${svg.h}">
|
||||
<defs>
|
||||
<linearGradient id="heatmap-solids" x1="0%" y1="0%" x2="100%" y2="0%">
|
||||
@@ -152,32 +155,32 @@ export default function heatmap(art, danmuku, option) {
|
||||
</defs>
|
||||
<path fill="url(#heatmap-solids)" d="${pathD}"></path>
|
||||
</svg>
|
||||
`;
|
||||
`
|
||||
|
||||
$start = query('#heatmap-start', $heatmap);
|
||||
$stop = query('#heatmap-stop', $heatmap);
|
||||
$start.setAttribute('offset', `${art.played * 100}%`);
|
||||
$stop.setAttribute('offset', `${art.played * 100}%`);
|
||||
}
|
||||
$start = query('#heatmap-start', $heatmap)
|
||||
$stop = query('#heatmap-stop', $heatmap)
|
||||
$start.setAttribute('offset', `${art.played * 100}%`)
|
||||
$stop.setAttribute('offset', `${art.played * 100}%`)
|
||||
}
|
||||
|
||||
art.on('video:timeupdate', () => {
|
||||
if ($start && $stop) {
|
||||
$start.setAttribute('offset', `${art.played * 100}%`);
|
||||
$stop.setAttribute('offset', `${art.played * 100}%`);
|
||||
}
|
||||
});
|
||||
art.on('video:timeupdate', () => {
|
||||
if ($start && $stop) {
|
||||
$start.setAttribute('offset', `${art.played * 100}%`)
|
||||
$stop.setAttribute('offset', `${art.played * 100}%`)
|
||||
}
|
||||
})
|
||||
|
||||
art.on('setBar', (type, percentage) => {
|
||||
if ($start && $stop && type === 'played') {
|
||||
$start.setAttribute('offset', `${percentage * 100}%`);
|
||||
$stop.setAttribute('offset', `${percentage * 100}%`);
|
||||
}
|
||||
});
|
||||
art.on('setBar', (type, percentage) => {
|
||||
if ($start && $stop && type === 'played') {
|
||||
$start.setAttribute('offset', `${percentage * 100}%`)
|
||||
$stop.setAttribute('offset', `${percentage * 100}%`)
|
||||
}
|
||||
})
|
||||
|
||||
art.on('ready', () => update());
|
||||
art.on('resize', () => update());
|
||||
art.on('artplayerPluginDanmuku:loaded', () => update());
|
||||
art.on('artplayerPluginDanmuku:points', (points) => update(points));
|
||||
},
|
||||
});
|
||||
art.on('ready', () => update())
|
||||
art.on('resize', () => update())
|
||||
art.on('artplayerPluginDanmuku:loaded', () => update())
|
||||
art.on('artplayerPluginDanmuku:points', points => update(points))
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -1,40 +1,40 @@
|
||||
import Danmuku from './danmuku';
|
||||
import Setting from './setting';
|
||||
import heatmap from './heatmap';
|
||||
import Danmuku from './danmuku'
|
||||
import heatmap from './heatmap'
|
||||
import Setting from './setting'
|
||||
|
||||
export default function artplayerPluginDanmuku(option) {
|
||||
return (art) => {
|
||||
const danmuku = new Danmuku(art, option);
|
||||
const setting = new Setting(art, danmuku);
|
||||
return (art) => {
|
||||
const danmuku = new Danmuku(art, option)
|
||||
const setting = new Setting(art, danmuku)
|
||||
|
||||
if (danmuku.option.heatmap) {
|
||||
heatmap(art, danmuku, danmuku.option.heatmap);
|
||||
}
|
||||
if (danmuku.option.heatmap) {
|
||||
heatmap(art, danmuku, danmuku.option.heatmap)
|
||||
}
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginDanmuku',
|
||||
emit: danmuku.emit.bind(danmuku),
|
||||
load: danmuku.load.bind(danmuku),
|
||||
config: danmuku.config.bind(danmuku),
|
||||
hide: danmuku.hide.bind(danmuku),
|
||||
show: danmuku.show.bind(danmuku),
|
||||
reset: danmuku.reset.bind(danmuku),
|
||||
mount: setting.mount.bind(setting),
|
||||
get option() {
|
||||
return danmuku.option;
|
||||
},
|
||||
get isHide() {
|
||||
return danmuku.isHide;
|
||||
},
|
||||
get isStop() {
|
||||
return danmuku.isStop;
|
||||
},
|
||||
};
|
||||
};
|
||||
return {
|
||||
name: 'artplayerPluginDanmuku',
|
||||
emit: danmuku.emit.bind(danmuku),
|
||||
load: danmuku.load.bind(danmuku),
|
||||
config: danmuku.config.bind(danmuku),
|
||||
hide: danmuku.hide.bind(danmuku),
|
||||
show: danmuku.show.bind(danmuku),
|
||||
reset: danmuku.reset.bind(danmuku),
|
||||
mount: setting.mount.bind(setting),
|
||||
get option() {
|
||||
return danmuku.option
|
||||
},
|
||||
get isHide() {
|
||||
return danmuku.isHide
|
||||
},
|
||||
get isStop() {
|
||||
return danmuku.isStop
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
artplayerPluginDanmuku.icons = Setting.icons;
|
||||
artplayerPluginDanmuku.icons = Setting.icons
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window['artplayerPluginDanmuku'] = artplayerPluginDanmuku;
|
||||
window.artplayerPluginDanmuku = artplayerPluginDanmuku
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,142 +1,151 @@
|
||||
function getDanmuTop({ target, visibles, clientWidth, clientHeight, marginBottom, marginTop, antiOverlap }) {
|
||||
// 弹幕最大高度
|
||||
const maxTop = clientHeight - marginBottom;
|
||||
// 弹幕最大高度
|
||||
const maxTop = clientHeight - marginBottom
|
||||
|
||||
// 过滤同模式的弹幕,即每种模式各不影响
|
||||
const danmus = visibles
|
||||
.filter((item) => item.mode === target.mode && item.top <= maxTop)
|
||||
.sort((prev, next) => prev.top - next.top);
|
||||
// 过滤同模式的弹幕,即每种模式各不影响
|
||||
const danmus = visibles
|
||||
.filter(item => item.mode === target.mode && item.top <= maxTop)
|
||||
.sort((prev, next) => prev.top - next.top)
|
||||
|
||||
// 如果没有同模式的弹幕,直接返回
|
||||
if (danmus.length === 0) {
|
||||
if (target.mode === 2) {
|
||||
return maxTop - target.height;
|
||||
} else {
|
||||
return marginTop;
|
||||
}
|
||||
}
|
||||
|
||||
// 上下各加一个虚拟弹幕,方便计算
|
||||
danmus.unshift({
|
||||
type: 'top',
|
||||
top: 0,
|
||||
left: 0,
|
||||
right: 0,
|
||||
height: marginTop,
|
||||
width: clientWidth,
|
||||
speed: 0,
|
||||
distance: clientWidth,
|
||||
});
|
||||
|
||||
danmus.push({
|
||||
type: 'bottom',
|
||||
top: maxTop,
|
||||
left: 0,
|
||||
right: 0,
|
||||
height: marginBottom,
|
||||
width: clientWidth,
|
||||
speed: 0,
|
||||
distance: clientWidth,
|
||||
});
|
||||
|
||||
// 查找是否有多余的缝隙足以容纳当前弹幕
|
||||
// 如果没有同模式的弹幕,直接返回
|
||||
if (danmus.length === 0) {
|
||||
if (target.mode === 2) {
|
||||
// 倒序查找
|
||||
for (let index = danmus.length - 2; index >= 0; index -= 1) {
|
||||
const item = danmus[index];
|
||||
const prev = danmus[index + 1];
|
||||
const itemBottom = item.top + item.height;
|
||||
const diff = prev.top - itemBottom;
|
||||
if (diff >= target.height) {
|
||||
return prev.top - target.height;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 顺序查找
|
||||
for (let index = 1; index < danmus.length; index += 1) {
|
||||
const item = danmus[index];
|
||||
const prev = danmus[index - 1];
|
||||
const prevBottom = prev.top + prev.height;
|
||||
const diff = item.top - prevBottom;
|
||||
if (diff >= target.height) {
|
||||
return prevBottom;
|
||||
}
|
||||
}
|
||||
return maxTop - target.height
|
||||
}
|
||||
else {
|
||||
return marginTop
|
||||
}
|
||||
}
|
||||
|
||||
// 上下各加一个虚拟弹幕,方便计算
|
||||
danmus.unshift({
|
||||
type: 'top',
|
||||
top: 0,
|
||||
left: 0,
|
||||
right: 0,
|
||||
height: marginTop,
|
||||
width: clientWidth,
|
||||
speed: 0,
|
||||
distance: clientWidth,
|
||||
})
|
||||
|
||||
danmus.push({
|
||||
type: 'bottom',
|
||||
top: maxTop,
|
||||
left: 0,
|
||||
right: 0,
|
||||
height: marginBottom,
|
||||
width: clientWidth,
|
||||
speed: 0,
|
||||
distance: clientWidth,
|
||||
})
|
||||
|
||||
// 查找是否有多余的缝隙足以容纳当前弹幕
|
||||
if (target.mode === 2) {
|
||||
// 倒序查找
|
||||
for (let index = danmus.length - 2; index >= 0; index -= 1) {
|
||||
const item = danmus[index]
|
||||
const prev = danmus[index + 1]
|
||||
const itemBottom = item.top + item.height
|
||||
const diff = prev.top - itemBottom
|
||||
if (diff >= target.height) {
|
||||
return prev.top - target.height
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
// 顺序查找
|
||||
for (let index = 1; index < danmus.length; index += 1) {
|
||||
const item = danmus[index]
|
||||
const prev = danmus[index - 1]
|
||||
const prevBottom = prev.top + prev.height
|
||||
const diff = item.top - prevBottom
|
||||
if (diff >= target.height) {
|
||||
return prevBottom
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const topMap = []
|
||||
for (let index = 1; index < danmus.length - 1; index += 1) {
|
||||
const item = danmus[index]
|
||||
if (topMap.length) {
|
||||
const last = topMap[topMap.length - 1]
|
||||
if (last[0].top === item.top) {
|
||||
last.push(item)
|
||||
}
|
||||
else {
|
||||
topMap.push([item])
|
||||
}
|
||||
}
|
||||
else {
|
||||
topMap.push([item])
|
||||
}
|
||||
}
|
||||
|
||||
if (antiOverlap) {
|
||||
switch (target.mode) {
|
||||
case 0: {
|
||||
const result = topMap.find((list) => {
|
||||
return list.every((danmu) => {
|
||||
if (clientWidth < danmu.distance)
|
||||
return false
|
||||
if (target.speed < danmu.speed)
|
||||
return true
|
||||
const overlapTime = danmu.right / (target.speed - danmu.speed)
|
||||
if (overlapTime > danmu.time)
|
||||
return true
|
||||
return false
|
||||
})
|
||||
})
|
||||
|
||||
return result && result[0] ? result[0].top : undefined
|
||||
}
|
||||
|
||||
// 静止弹幕没有重叠问题
|
||||
case 1:
|
||||
case 2:
|
||||
return undefined
|
||||
default:
|
||||
break
|
||||
}
|
||||
}
|
||||
else {
|
||||
switch (target.mode) {
|
||||
case 0:
|
||||
topMap.sort((prev, next) => {
|
||||
const nextMinRight = Math.min(...next.map(item => item.right))
|
||||
const prevMinRight = Math.min(...prev.map(item => item.right))
|
||||
return nextMinRight * next.length - prevMinRight * prev.length
|
||||
})
|
||||
break
|
||||
case 1:
|
||||
case 2:
|
||||
topMap.sort((prev, next) => {
|
||||
const nextMaxWidth = Math.max(...next.map(item => item.width))
|
||||
const prevMaxWidth = Math.max(...prev.map(item => item.width))
|
||||
return prevMaxWidth * prev.length - nextMaxWidth * next.length
|
||||
})
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
|
||||
const topMap = [];
|
||||
for (let index = 1; index < danmus.length - 1; index += 1) {
|
||||
const item = danmus[index];
|
||||
if (topMap.length) {
|
||||
const last = topMap[topMap.length - 1];
|
||||
if (last[0].top === item.top) {
|
||||
last.push(item);
|
||||
} else {
|
||||
topMap.push([item]);
|
||||
}
|
||||
} else {
|
||||
topMap.push([item]);
|
||||
}
|
||||
}
|
||||
|
||||
if (antiOverlap) {
|
||||
switch (target.mode) {
|
||||
case 0: {
|
||||
const result = topMap.find((list) => {
|
||||
return list.every((danmu) => {
|
||||
if (clientWidth < danmu.distance) return false;
|
||||
if (target.speed < danmu.speed) return true;
|
||||
const overlapTime = danmu.right / (target.speed - danmu.speed);
|
||||
if (overlapTime > danmu.time) return true;
|
||||
return false;
|
||||
});
|
||||
});
|
||||
|
||||
return result && result[0] ? result[0].top : undefined;
|
||||
}
|
||||
|
||||
// 静止弹幕没有重叠问题
|
||||
case 1:
|
||||
case 2:
|
||||
return undefined;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (target.mode) {
|
||||
case 0:
|
||||
topMap.sort((prev, next) => {
|
||||
const nextMinRight = Math.min(...next.map((item) => item.right));
|
||||
const prevMinRight = Math.min(...prev.map((item) => item.right));
|
||||
return nextMinRight * next.length - prevMinRight * prev.length;
|
||||
});
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
topMap.sort((prev, next) => {
|
||||
const nextMaxWidth = Math.max(...next.map((item) => item.width));
|
||||
const prevMaxWidth = Math.max(...prev.map((item) => item.width));
|
||||
return prevMaxWidth * prev.length - nextMaxWidth * next.length;
|
||||
});
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return topMap[0][0].top;
|
||||
}
|
||||
return topMap[0][0].top
|
||||
}
|
||||
}
|
||||
|
||||
onmessage = (event) => {
|
||||
const { data } = event;
|
||||
if (!data.id || !data.type) return;
|
||||
const { data } = event
|
||||
if (!data.id || !data.type)
|
||||
return
|
||||
|
||||
const fns = { getDanmuTop };
|
||||
const fn = fns[data.type];
|
||||
const result = fn(data);
|
||||
const fns = { getDanmuTop }
|
||||
const fn = fns[data.type]
|
||||
const result = fn(data)
|
||||
|
||||
self.postMessage({
|
||||
result,
|
||||
id: data.id,
|
||||
});
|
||||
};
|
||||
globalThis.postMessage({
|
||||
result,
|
||||
id: data.id,
|
||||
})
|
||||
}
|
||||
+206
-206
@@ -1,255 +1,255 @@
|
||||
import type Artplayer from 'artplayer';
|
||||
import type Artplayer from 'artplayer'
|
||||
|
||||
export = artplayerPluginDanmuku;
|
||||
export = artplayerPluginDanmuku
|
||||
export as namespace artplayerPluginDanmuku;
|
||||
|
||||
type Mode = 0 | 1 | 2;
|
||||
type Danmuku = Danmu[] | string | (() => Promise<Danmu[]>) | Promise<Danmu[]>;
|
||||
type Mode = 0 | 1 | 2
|
||||
type Danmuku = Danmu[] | string | (() => Promise<Danmu[]>) | Promise<Danmu[]>
|
||||
|
||||
type Slider = {
|
||||
min?: number;
|
||||
max?: number;
|
||||
steps?: {
|
||||
name?: string;
|
||||
value?: any;
|
||||
show?: boolean;
|
||||
}[];
|
||||
};
|
||||
interface Slider {
|
||||
min?: number
|
||||
max?: number
|
||||
steps?: {
|
||||
name?: string
|
||||
value?: any
|
||||
show?: boolean
|
||||
}[]
|
||||
}
|
||||
|
||||
type Danmu = {
|
||||
/**
|
||||
* 弹幕文本
|
||||
*/
|
||||
text: string;
|
||||
interface Danmu {
|
||||
/**
|
||||
* 弹幕文本
|
||||
*/
|
||||
text: string
|
||||
|
||||
/**
|
||||
* 弹幕发送模式: 0: 滚动,1: 顶部,2: 底部
|
||||
*/
|
||||
mode?: Mode;
|
||||
/**
|
||||
* 弹幕发送模式: 0: 滚动,1: 顶部,2: 底部
|
||||
*/
|
||||
mode?: Mode
|
||||
|
||||
/**
|
||||
* 弹幕颜色
|
||||
*/
|
||||
color?: string;
|
||||
/**
|
||||
* 弹幕颜色
|
||||
*/
|
||||
color?: string
|
||||
|
||||
/**
|
||||
* 弹幕出现的时间,单位为秒
|
||||
*/
|
||||
time?: number;
|
||||
/**
|
||||
* 弹幕出现的时间,单位为秒
|
||||
*/
|
||||
time?: number
|
||||
|
||||
/**
|
||||
* 弹幕是否有描边, 默认为 false
|
||||
*/
|
||||
border?: boolean;
|
||||
/**
|
||||
* 弹幕是否有描边, 默认为 false
|
||||
*/
|
||||
border?: boolean
|
||||
|
||||
/**
|
||||
* 弹幕自定义样式
|
||||
*/
|
||||
style?: Partial<CSSStyleDeclaration>;
|
||||
};
|
||||
/**
|
||||
* 弹幕自定义样式
|
||||
*/
|
||||
style?: Partial<CSSStyleDeclaration>
|
||||
}
|
||||
|
||||
type Option = {
|
||||
/**
|
||||
* 弹幕数据: 函数,数组,Promise,URL
|
||||
*/
|
||||
danmuku: Danmuku;
|
||||
interface Option {
|
||||
/**
|
||||
* 弹幕数据: 函数,数组,Promise,URL
|
||||
*/
|
||||
danmuku: Danmuku
|
||||
|
||||
/**
|
||||
* 弹幕持续时间,范围在[1 ~ 10]
|
||||
*/
|
||||
speed?: number;
|
||||
/**
|
||||
* 弹幕持续时间,范围在[1 ~ 10]
|
||||
*/
|
||||
speed?: number
|
||||
|
||||
/**
|
||||
* 弹幕上下边距,支持像素数字和百分比
|
||||
*/
|
||||
margin?: [number | `${number}%`, number | `${number}%`];
|
||||
/**
|
||||
* 弹幕上下边距,支持像素数字和百分比
|
||||
*/
|
||||
margin?: [number | `${number}%`, number | `${number}%`]
|
||||
|
||||
/**
|
||||
* 弹幕透明度,范围在[0 ~ 1]
|
||||
*/
|
||||
opacity?: number;
|
||||
/**
|
||||
* 弹幕透明度,范围在[0 ~ 1]
|
||||
*/
|
||||
opacity?: number
|
||||
|
||||
/**
|
||||
* 默认弹幕颜色,可以被单独弹幕项覆盖
|
||||
*/
|
||||
color?: string;
|
||||
/**
|
||||
* 默认弹幕颜色,可以被单独弹幕项覆盖
|
||||
*/
|
||||
color?: string
|
||||
|
||||
/**
|
||||
* 弹幕模式: 0: 滚动,1: 顶部,2: 底部
|
||||
*/
|
||||
mode?: Mode;
|
||||
/**
|
||||
* 弹幕模式: 0: 滚动,1: 顶部,2: 底部
|
||||
*/
|
||||
mode?: Mode
|
||||
|
||||
/**
|
||||
* 弹幕可见的模式
|
||||
*/
|
||||
modes?: Mode[];
|
||||
/**
|
||||
* 弹幕可见的模式
|
||||
*/
|
||||
modes?: Mode[]
|
||||
|
||||
/**
|
||||
* 弹幕字体大小,支持像素数字和百分比
|
||||
*/
|
||||
fontSize?: number | `${number}%`;
|
||||
/**
|
||||
* 弹幕字体大小,支持像素数字和百分比
|
||||
*/
|
||||
fontSize?: number | `${number}%`
|
||||
|
||||
/**
|
||||
* 弹幕是否防重叠
|
||||
*/
|
||||
antiOverlap?: boolean;
|
||||
/**
|
||||
* 弹幕是否防重叠
|
||||
*/
|
||||
antiOverlap?: boolean
|
||||
|
||||
/**
|
||||
* 是否同步播放速度
|
||||
*/
|
||||
synchronousPlayback?: boolean;
|
||||
/**
|
||||
* 是否同步播放速度
|
||||
*/
|
||||
synchronousPlayback?: boolean
|
||||
|
||||
/**
|
||||
* 弹幕发射器挂载点, 默认为播放器控制栏中部
|
||||
*/
|
||||
mount?: HTMLDivElement | string;
|
||||
/**
|
||||
* 弹幕发射器挂载点, 默认为播放器控制栏中部
|
||||
*/
|
||||
mount?: HTMLDivElement | string
|
||||
|
||||
/**
|
||||
* 是否开启弹幕热度图
|
||||
*/
|
||||
heatmap?:
|
||||
| boolean
|
||||
| {
|
||||
xMin?: number;
|
||||
xMax?: number;
|
||||
yMin?: number;
|
||||
yMax?: number;
|
||||
scale?: number;
|
||||
opacity?: number;
|
||||
minHeight?: number;
|
||||
sampling?: number;
|
||||
smoothing?: number;
|
||||
flattening?: number;
|
||||
};
|
||||
/**
|
||||
* 是否开启弹幕热度图
|
||||
*/
|
||||
heatmap?:
|
||||
| boolean
|
||||
| {
|
||||
xMin?: number
|
||||
xMax?: number
|
||||
yMin?: number
|
||||
yMax?: number
|
||||
scale?: number
|
||||
opacity?: number
|
||||
minHeight?: number
|
||||
sampling?: number
|
||||
smoothing?: number
|
||||
flattening?: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 当播放器宽度小于此值时,弹幕发射器置于播放器底部
|
||||
*/
|
||||
width?: number;
|
||||
/**
|
||||
* 当播放器宽度小于此值时,弹幕发射器置于播放器底部
|
||||
*/
|
||||
width?: number
|
||||
|
||||
/**
|
||||
* 热力图数据
|
||||
*/
|
||||
points?: any[];
|
||||
/**
|
||||
* 热力图数据
|
||||
*/
|
||||
points?: any[]
|
||||
|
||||
/**
|
||||
* 弹幕载入前的过滤器,只支持返回布尔值
|
||||
*/
|
||||
filter?: (danmu: Danmu) => boolean;
|
||||
/**
|
||||
* 弹幕载入前的过滤器,只支持返回布尔值
|
||||
*/
|
||||
filter?: (danmu: Danmu) => boolean
|
||||
|
||||
/**
|
||||
* 弹幕发送前的过滤器,支持返回 Promise
|
||||
*/
|
||||
beforeEmit?: (danmu: Danmu) => boolean | Promise<boolean>;
|
||||
/**
|
||||
* 弹幕发送前的过滤器,支持返回 Promise
|
||||
*/
|
||||
beforeEmit?: (danmu: Danmu) => boolean | Promise<boolean>
|
||||
|
||||
/**
|
||||
* 弹幕显示前的过滤器,支持返回 Promise
|
||||
*/
|
||||
beforeVisible?: (danmu: Danmu) => boolean | Promise<boolean>;
|
||||
/**
|
||||
* 弹幕显示前的过滤器,支持返回 Promise
|
||||
*/
|
||||
beforeVisible?: (danmu: Danmu) => boolean | Promise<boolean>
|
||||
|
||||
/**
|
||||
* 弹幕是否可见
|
||||
*/
|
||||
visible?: boolean;
|
||||
/**
|
||||
* 弹幕是否可见
|
||||
*/
|
||||
visible?: boolean
|
||||
|
||||
/**
|
||||
* 是否开启弹幕发射器
|
||||
*/
|
||||
emitter?: boolean;
|
||||
/**
|
||||
* 是否开启弹幕发射器
|
||||
*/
|
||||
emitter?: boolean
|
||||
|
||||
/**
|
||||
* 弹幕输入框最大长度, 范围在[1 ~ 1000]
|
||||
*/
|
||||
maxLength?: number;
|
||||
/**
|
||||
* 弹幕输入框最大长度, 范围在[1 ~ 1000]
|
||||
*/
|
||||
maxLength?: number
|
||||
|
||||
/**
|
||||
* 输入框锁定时间,范围在[1 ~ 60]
|
||||
*/
|
||||
lockTime?: number;
|
||||
/**
|
||||
* 输入框锁定时间,范围在[1 ~ 60]
|
||||
*/
|
||||
lockTime?: number
|
||||
|
||||
/**
|
||||
* 弹幕主题,只在自定义挂载时生效
|
||||
*/
|
||||
theme?: 'light' | 'dark';
|
||||
/**
|
||||
* 弹幕主题,只在自定义挂载时生效
|
||||
*/
|
||||
theme?: 'light' | 'dark'
|
||||
|
||||
/**
|
||||
* 不透明度配置项
|
||||
*/
|
||||
OPACITY?: Slider;
|
||||
/**
|
||||
* 不透明度配置项
|
||||
*/
|
||||
OPACITY?: Slider
|
||||
|
||||
/**
|
||||
* 弹幕速度配置项
|
||||
*/
|
||||
SPEED?: Slider;
|
||||
/**
|
||||
* 弹幕速度配置项
|
||||
*/
|
||||
SPEED?: Slider
|
||||
|
||||
/**
|
||||
* 显示区域配置项
|
||||
*/
|
||||
MARGIN?: Slider;
|
||||
/**
|
||||
* 显示区域配置项
|
||||
*/
|
||||
MARGIN?: Slider
|
||||
|
||||
/**
|
||||
* 弹幕字号配置项
|
||||
*/
|
||||
FONT_SIZE?: Slider;
|
||||
/**
|
||||
* 弹幕字号配置项
|
||||
*/
|
||||
FONT_SIZE?: Slider
|
||||
|
||||
/**
|
||||
* 颜色列表配置项
|
||||
*/
|
||||
COLOR?: string[];
|
||||
};
|
||||
/**
|
||||
* 颜色列表配置项
|
||||
*/
|
||||
COLOR?: string[]
|
||||
}
|
||||
|
||||
type Result = {
|
||||
name: 'artplayerPluginDanmuku';
|
||||
interface Result {
|
||||
name: 'artplayerPluginDanmuku'
|
||||
|
||||
/**
|
||||
* 发送一条实时弹幕
|
||||
*/
|
||||
emit: (danmu: Danmu) => Result;
|
||||
/**
|
||||
* 发送一条实时弹幕
|
||||
*/
|
||||
emit: (danmu: Danmu) => Result
|
||||
|
||||
/**
|
||||
* 重载弹幕源,或者切换新弹幕
|
||||
*/
|
||||
load: (danmuku?: Danmuku) => Promise<Result>;
|
||||
/**
|
||||
* 重载弹幕源,或者切换新弹幕
|
||||
*/
|
||||
load: (danmuku?: Danmuku) => Promise<Result>
|
||||
|
||||
/**
|
||||
* 实时改变弹幕配置
|
||||
*/
|
||||
config: (option: Option) => Result;
|
||||
/**
|
||||
* 实时改变弹幕配置
|
||||
*/
|
||||
config: (option: Option) => Result
|
||||
|
||||
/**
|
||||
* 隐藏弹幕层
|
||||
*/
|
||||
hide: () => Result;
|
||||
/**
|
||||
* 隐藏弹幕层
|
||||
*/
|
||||
hide: () => Result
|
||||
|
||||
/**
|
||||
* 显示弹幕层
|
||||
*/
|
||||
show: () => Result;
|
||||
/**
|
||||
* 显示弹幕层
|
||||
*/
|
||||
show: () => Result
|
||||
|
||||
/**
|
||||
* 挂载弹幕输入框
|
||||
*/
|
||||
mount: (el?: HTMLDivElement | string) => void;
|
||||
/**
|
||||
* 挂载弹幕输入框
|
||||
*/
|
||||
mount: (el?: HTMLDivElement | string) => void
|
||||
|
||||
/**
|
||||
* 重置弹幕
|
||||
*/
|
||||
reset: () => Result;
|
||||
/**
|
||||
* 重置弹幕
|
||||
*/
|
||||
reset: () => Result
|
||||
|
||||
/**
|
||||
* 弹幕配置
|
||||
*/
|
||||
option: Option;
|
||||
/**
|
||||
* 弹幕配置
|
||||
*/
|
||||
option: Option
|
||||
|
||||
/**
|
||||
* 是否隐藏弹幕层
|
||||
*/
|
||||
isHide: boolean;
|
||||
/**
|
||||
* 是否隐藏弹幕层
|
||||
*/
|
||||
isHide: boolean
|
||||
|
||||
/**
|
||||
* 是否弹幕层停止状态
|
||||
*/
|
||||
isStop: boolean;
|
||||
};
|
||||
/**
|
||||
* 是否弹幕层停止状态
|
||||
*/
|
||||
isStop: boolean
|
||||
}
|
||||
|
||||
declare const artplayerPluginDanmuku: (option: Option) => (art: Artplayer) => Result;
|
||||
declare const artplayerPluginDanmuku: (option: Option) => (art: Artplayer) => Result
|
||||
+1
-1
@@ -5,5 +5,5 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,o,n,r,i,l,u){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof a[n]&&a[n],s=d.i||{},c=d.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,o){if(!c[t]){if(!e[t]){if(r[t])return r[t];var i="function"==typeof a[n]&&a[n];if(!o&&i)return i(t,!0);if(d)return d(t,!0);if(f&&"string"==typeof t)return f(t);var l=Error("Cannot find module '"+t+"'");throw l.code="MODULE_NOT_FOUND",l}s.resolve=function(o){var n=e[t][1][o];return null!=n?n:o},s.cache={};var u=c[t]=new p.Module(t);e[t][0].call(u.exports,s,u,u.exports,a)}return c[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=f,this.exports={}},p.modules=e,p.cache=c,p.parent=d,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=s,p.register=function(t,o){e[t]=[function(e,t){t.exports=o},{}]},Object.defineProperty(p,"root",{get:function(){return a[n]}}),a[n]=p;for(var h=0;h<t.length;h++)p(t[h]);if(o){var g=p(o);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({"4omrA":[function(e,t,o,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(o),r.export(o,"default",()=>s);var i=e("bundle-text:./quality.svg"),l=r.interopDefault(i),u=e("bundle-text:./audio.svg"),a=r.interopDefault(u);function d(e,t){let o=new Map;return e.filter(e=>{let n=e[t];return void 0===n||!o.has(n)&&o.set(n,1)})}function s(e={}){return t=>{let{$video:o}=t.template,{errorHandle:n}=t.constructor.utils;function r(){n(t.dash.getVideoElement()===o,'Cannot find instance of DASH from "art.dash"'),function(o){let n=o.getBitrateInfoListFor("video");if(!n||!n.length)return;let r=e.quality||{},i=r.auto||"Auto",u=r.title||"Quality",a=r.getName||(e=>`${e.height}p`),s=o.getQualityFor("video"),c=o.getSettings().streaming.abr.autoSwitchBitrate.video,f=c?i:a(n[s]),p=d(n.map(e=>({html:a(e),value:e.qualityIndex,default:s===e.qualityIndex&&!c})),"html").sort((e,t)=>t.value-e.value);p.push({html:i,value:"auto",default:c});let h=e=>("auto"===e.value?o.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!0}}}}):(o.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!1}}}}),o.setQualityFor("video",e.value)),t.notice.show=`${u}: ${e.html}`,r.control&&t.controls.check(e),r.setting&&t.setting.check(e),e.html);r.control&&t.controls.update({name:"dash-quality",position:"right",html:f,style:{padding:"0 10px"},selector:p,onSelect:h}),r.setting&&t.setting.update({name:"dash-quality",tooltip:f,html:u,icon:l.default,width:200,selector:p,onSelect:h})}(t.dash),function(o){let n=o.getTracksFor("audio");if(!n||!n.length)return;let r=e.audio||{},i=r.auto||"Auto",l=r.title||"Audio",u=r.getName||(e=>e.lang||e.id),s=o.getCurrentTrackFor("audio")||n[0],c=s?u(s):i,f=d(n.map(e=>({html:u(e),value:e,default:s===e})),"html"),p=e=>(o.setCurrentTrack(e.value),t.notice.show=`${l}: ${e.html}`,r.control&&t.controls.check(e),r.setting&&t.setting.check(e),e.html);r.control&&t.controls.update({name:"dash-audio",position:"right",html:c,style:{padding:"0 10px"},selector:f,onSelect:p}),r.setting&&t.setting.update({name:"dash-audio",tooltip:c,html:l,icon:a.default,width:200,selector:f,onSelect:p})}(t.dash)}return t.on("ready",r),t.on("restart",r),{name:"artplayerPluginDashControl",update:r}}}"undefined"!=typeof window&&(window.artplayerPluginDashControl=s)},{"bundle-text:./quality.svg":"5iEAx","bundle-text:./audio.svg":"909Xy","@parcel/transformer-js/src/esmodule-helpers.js":"w4pLy"}],"5iEAx":[function(e,t,o,n){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zm323.8 106.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6-26.5-33.1c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S78.8 416 88 416h336c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96"/></svg>'},{}],"909Xy":[function(e,t,o,n){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6 26.5 0 48 21.5 48 48v128c0 26.5-21.5 48-48 48-44.2 0-80-35.8-80-80V288C0 146.6 114.6 32 256 32s256 114.6 256 256v112c0 44.2-35.8 80-80 80-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48 10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80"/></svg>'},{}],w4pLy:[function(e,t,o,n){o.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},o.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},o.exportAll=function(e,t){return Object.keys(e).forEach(function(o){"default"===o||"__esModule"===o||Object.prototype.hasOwnProperty.call(t,o)||Object.defLine truncated
|
||||
!function(e,t,n,o,i,r,l,u){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof a[o]&&a[o],s=d.i||{},f=d.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!f[t]){if(!e[t]){if(i[t])return i[t];var r="function"==typeof a[o]&&a[o];if(!n&&r)return r(t,!0);if(d)return d(t,!0);if(c&&"string"==typeof t)return c(t);var l=Error("Cannot find module '"+t+"'");throw l.code="MODULE_NOT_FOUND",l}s.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},s.cache={};var u=f[t]=new p.Module(t);e[t][0].call(u.exports,s,u,u.exports,a)}return f[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=c,this.exports={}},p.modules=e,p.cache=f,p.parent=d,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=s,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return a[o]}}),a[o]=p;for(var h=0;h<t.length;h++)p(t[h]);if(n){var g=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({"58GV3":[function(e,t,n,o){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(n),i.export(n,"default",()=>s);var r=e("bundle-text:./audio.svg"),l=i.interopDefault(r),u=e("bundle-text:./quality.svg"),a=i.interopDefault(u);function d(e,t){let n=new Map;return e.filter(e=>{let o=e[t];return void 0===o||!n.has(o)&&n.set(o,1)})}function s(e={}){return t=>{let{$video:n}=t.template,{errorHandle:o}=t.constructor.utils;function i(){o(t.dash.getVideoElement()===n,'Cannot find instance of DASH from "art.dash"'),function(n){let o=n.getBitrateInfoListFor("video");if(!o||!o.length)return;let i=e.quality||{},r=i.auto||"Auto",l=i.title||"Quality",u=i.getName||(e=>`${e.height}p`),s=n.getQualityFor("video"),f=n.getSettings().streaming.abr.autoSwitchBitrate.video,c=f?r:u(o[s]),p=d(o.map(e=>({html:u(e),value:e.qualityIndex,default:s===e.qualityIndex&&!f})),"html").sort((e,t)=>t.value-e.value);p.push({html:r,value:"auto",default:f});let h=e=>("auto"===e.value?n.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!0}}}}):(n.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!1}}}}),n.setQualityFor("video",e.value)),t.notice.show=`${l}: ${e.html}`,i.control&&t.controls.check(e),i.setting&&t.setting.check(e),e.html);i.control&&t.controls.update({name:"dash-quality",position:"right",html:c,style:{padding:"0 10px"},selector:p,onSelect:h}),i.setting&&t.setting.update({name:"dash-quality",tooltip:c,html:l,icon:a.default,width:200,selector:p,onSelect:h})}(t.dash),function(n){let o=n.getTracksFor("audio");if(!o||!o.length)return;let i=e.audio||{},r=i.auto||"Auto",u=i.title||"Audio",a=i.getName||(e=>e.lang||e.id),s=n.getCurrentTrackFor("audio")||o[0],f=s?a(s):r,c=d(o.map(e=>({html:a(e),value:e,default:s===e})),"html"),p=e=>(n.setCurrentTrack(e.value),t.notice.show=`${u}: ${e.html}`,i.control&&t.controls.check(e),i.setting&&t.setting.check(e),e.html);i.control&&t.controls.update({name:"dash-audio",position:"right",html:f,style:{padding:"0 10px"},selector:c,onSelect:p}),i.setting&&t.setting.update({name:"dash-audio",tooltip:f,html:u,icon:l.default,width:200,selector:c,onSelect:p})}(t.dash)}return t.on("ready",i),t.on("restart",i),{name:"artplayerPluginDashControl",update:i}}}"undefined"!=typeof window&&(window.artplayerPluginDashControl=s)},{"bundle-text:./audio.svg":"jpinR","bundle-text:./quality.svg":"C2BZy","@parcel/transformer-js/src/esmodule-helpers.js":"5lQoW"}],jpinR:[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6 26.5 0 48 21.5 48 48v128c0 26.5-21.5 48-48 48-44.2 0-80-35.8-80-80V288C0 146.6 114.6 32 256 32s256 114.6 256 256v112c0 44.2-35.8 80-80 80-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48 10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80"/></svg>'},{}],C2BZy:[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64Zm323.8 106.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6-26.5-33.1c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S78.8 416 88 416h336c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7ZM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96"/></svg>'},{}],"5lQoW":[function(e,t,n,o){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.definLine truncated
|
||||
//# sourceMappingURL=artplayer-plugin-dash-control.esm.js.map
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCcwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAdxB,IAAA,EAAA,EAAA,6B,E,E,c,C,GACA,EAAA,EAAA,2B,E,E,c,C,GAEA,SAAS,EAAO,CAAK,CAAE,CAAQ,EAC3B,IAAM,EAAO,IAAI,IACjB,OAAO,EAAM,MAAM,CAAC,AAAC,IACjB,IAAM,EAAM,CAAI,CAAC,EAAS,QAC1B,AAAY,KAAA,IAAR,GAGG,CAAC,EAAK,GAAG,CAAC,IAAQ,EAAK,GAAG,CAAC,EAAK,EAC3C,EACJ,CAEe,SAAS,EAA2B,EAAS,CAAC,CAAC,EAC1D,OAAO,AAAC,IA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","sources":["<anon>","src/index.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-26d48274f89c9ca8.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-5b9ef104be305102.js","../../node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["// modules are defined as an array\n// [ module function, map of requires ]\n//\n// map of requires is short require name -Line truncated
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCcwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAdxB,IAAA,EAAA,EAAA,2B,E,E,c,C,GACA,EAAA,EAAA,6B,E,E,c,C,GAEA,SAAS,EAAO,CAAK,CAAE,CAAQ,EAC7B,IAAM,EAAO,IAAI,IACjB,OAAO,EAAM,MAAM,CAAC,AAAC,IACnB,IAAM,EAAM,CAAI,CAAC,EAAS,QAC1B,AAAY,KAAA,IAAR,GAGG,CAAC,EAAK,GAAG,CAAC,IAAQ,EAAK,GAAG,CAAC,EAAK,EACzC,EACF,CAEe,SAAS,EAA2B,EAAS,CAAC,CAAC,EAC5D,OAAO,AAAC,IA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","sources":["<anon>","packages/artplayer-plugin-dash-control/src/index.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-45c5e4a1957df1cf.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-4bcc1b66476ef162.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["// modules are defined as an array\n// [ module function, map of requires ]\n//\n// map of reqLine truncated
|
||||
+1
-1
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,o,n,r,i,l,u){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof a[n]&&a[n],s=d.i||{},c=d.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,o){if(!c[t]){if(!e[t]){if(r[t])return r[t];var i="function"==typeof a[n]&&a[n];if(!o&&i)return i(t,!0);if(d)return d(t,!0);if(f&&"string"==typeof t)return f(t);var l=Error("Cannot find module '"+t+"'");throw l.code="MODULE_NOT_FOUND",l}s.resolve=function(o){var n=e[t][1][o];return null!=n?n:o},s.cache={};var u=c[t]=new p.Module(t);e[t][0].call(u.exports,s,u,u.exports,a)}return c[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=f,this.exports={}},p.modules=e,p.cache=c,p.parent=d,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=s,p.register=function(t,o){e[t]=[function(e,t){t.exports=o},{}]},Object.defineProperty(p,"root",{get:function(){return a[n]}}),a[n]=p;for(var h=0;h<t.length;h++)p(t[h]);if(o){var g=p(o);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({jz4E5:[function(e,t,o,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(o),r.export(o,"default",()=>s);var i=e("bundle-text:./quality.svg"),l=r.interopDefault(i),u=e("bundle-text:./audio.svg"),a=r.interopDefault(u);function d(e,t){let o=new Map;return e.filter(e=>{let n=e[t];return void 0===n||!o.has(n)&&o.set(n,1)})}function s(e={}){return t=>{let{$video:o}=t.template,{errorHandle:n}=t.constructor.utils;function r(){n(t.dash.getVideoElement()===o,'Cannot find instance of DASH from "art.dash"'),function(o){let n=o.getBitrateInfoListFor("video");if(!n||!n.length)return;let r=e.quality||{},i=r.auto||"Auto",u=r.title||"Quality",a=r.getName||(e=>`${e.height}p`),s=o.getQualityFor("video"),c=o.getSettings().streaming.abr.autoSwitchBitrate.video,f=c?i:a(n[s]),p=d(n.map(e=>({html:a(e),value:e.qualityIndex,default:s===e.qualityIndex&&!c})),"html").sort((e,t)=>t.value-e.value);p.push({html:i,value:"auto",default:c});let h=e=>("auto"===e.value?o.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!0}}}}):(o.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!1}}}}),o.setQualityFor("video",e.value)),t.notice.show=`${u}: ${e.html}`,r.control&&t.controls.check(e),r.setting&&t.setting.check(e),e.html);r.control&&t.controls.update({name:"dash-quality",position:"right",html:f,style:{padding:"0 10px"},selector:p,onSelect:h}),r.setting&&t.setting.update({name:"dash-quality",tooltip:f,html:u,icon:l.default,width:200,selector:p,onSelect:h})}(t.dash),function(o){let n=o.getTracksFor("audio");if(!n||!n.length)return;let r=e.audio||{},i=r.auto||"Auto",l=r.title||"Audio",u=r.getName||(e=>e.lang||e.id),s=o.getCurrentTrackFor("audio")||n[0],c=s?u(s):i,f=d(n.map(e=>({html:u(e),value:e,default:s===e})),"html"),p=e=>(o.setCurrentTrack(e.value),t.notice.show=`${l}: ${e.html}`,r.control&&t.controls.check(e),r.setting&&t.setting.check(e),e.html);r.control&&t.controls.update({name:"dash-audio",position:"right",html:c,style:{padding:"0 10px"},selector:f,onSelect:p}),r.setting&&t.setting.update({name:"dash-audio",tooltip:c,html:l,icon:a.default,width:200,selector:f,onSelect:p})}(t.dash)}return t.on("ready",r),t.on("restart",r),{name:"artplayerPluginDashControl",update:r}}}"undefined"!=typeof window&&(window.artplayerPluginDashControl=s)},{"bundle-text:./quality.svg":"l1ZNL","bundle-text:./audio.svg":"icbOY","@parcel/transformer-js/src/esmodule-helpers.js":"7o2zS"}],l1ZNL:[function(e,t,o,n){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zm323.8 106.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6-26.5-33.1c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S78.8 416 88 416h336c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96"/></svg>'},{}],icbOY:[function(e,t,o,n){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6 26.5 0 48 21.5 48 48v128c0 26.5-21.5 48-48 48-44.2 0-80-35.8-80-80V288C0 146.6 114.6 32 256 32s256 114.6 256 256v112c0 44.2-35.8 80-80 80-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48 10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80"/></svg>'},{}],"7o2zS":[function(e,t,o,n){o.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},o.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},o.exportAll=function(e,t){return Object.keys(e).forEach(function(o){"default"===o||"__esModule"===o||Object.prototype.hasOwnProperty.call(t,o)||Object.definePLine truncated
|
||||
!function(e,t,n,o,i,r,u,l){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof a[o]&&a[o],s=d.i||{},f=d.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!f[t]){if(!e[t]){if(i[t])return i[t];var r="function"==typeof a[o]&&a[o];if(!n&&r)return r(t,!0);if(d)return d(t,!0);if(c&&"string"==typeof t)return c(t);var u=Error("Cannot find module '"+t+"'");throw u.code="MODULE_NOT_FOUND",u}s.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},s.cache={};var l=f[t]=new p.Module(t);e[t][0].call(l.exports,s,l,l.exports,a)}return f[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=c,this.exports={}},p.modules=e,p.cache=f,p.parent=d,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=s,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return a[o]}}),a[o]=p;for(var h=0;h<t.length;h++)p(t[h]);if(n){var g=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({fpgdj:[function(e,t,n,o){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(n),i.export(n,"default",()=>s);var r=e("bundle-text:./audio.svg"),u=i.interopDefault(r),l=e("bundle-text:./quality.svg"),a=i.interopDefault(l);function d(e,t){let n=new Map;return e.filter(e=>{let o=e[t];return void 0===o||!n.has(o)&&n.set(o,1)})}function s(e={}){return t=>{let{$video:n}=t.template,{errorHandle:o}=t.constructor.utils;function i(){o(t.dash.getVideoElement()===n,'Cannot find instance of DASH from "art.dash"'),function(n){let o=n.getBitrateInfoListFor("video");if(!o||!o.length)return;let i=e.quality||{},r=i.auto||"Auto",u=i.title||"Quality",l=i.getName||(e=>`${e.height}p`),s=n.getQualityFor("video"),f=n.getSettings().streaming.abr.autoSwitchBitrate.video,c=f?r:l(o[s]),p=d(o.map(e=>({html:l(e),value:e.qualityIndex,default:s===e.qualityIndex&&!f})),"html").sort((e,t)=>t.value-e.value);p.push({html:r,value:"auto",default:f});let h=e=>("auto"===e.value?n.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!0}}}}):(n.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!1}}}}),n.setQualityFor("video",e.value)),t.notice.show=`${u}: ${e.html}`,i.control&&t.controls.check(e),i.setting&&t.setting.check(e),e.html);i.control&&t.controls.update({name:"dash-quality",position:"right",html:c,style:{padding:"0 10px"},selector:p,onSelect:h}),i.setting&&t.setting.update({name:"dash-quality",tooltip:c,html:u,icon:a.default,width:200,selector:p,onSelect:h})}(t.dash),function(n){let o=n.getTracksFor("audio");if(!o||!o.length)return;let i=e.audio||{},r=i.auto||"Auto",l=i.title||"Audio",a=i.getName||(e=>e.lang||e.id),s=n.getCurrentTrackFor("audio")||o[0],f=s?a(s):r,c=d(o.map(e=>({html:a(e),value:e,default:s===e})),"html"),p=e=>(n.setCurrentTrack(e.value),t.notice.show=`${l}: ${e.html}`,i.control&&t.controls.check(e),i.setting&&t.setting.check(e),e.html);i.control&&t.controls.update({name:"dash-audio",position:"right",html:f,style:{padding:"0 10px"},selector:c,onSelect:p}),i.setting&&t.setting.update({name:"dash-audio",tooltip:f,html:l,icon:u.default,width:200,selector:c,onSelect:p})}(t.dash)}return t.on("ready",i),t.on("restart",i),{name:"artplayerPluginDashControl",update:i}}}"undefined"!=typeof window&&(window.artplayerPluginDashControl=s)},{"bundle-text:./audio.svg":"1dVMq","bundle-text:./quality.svg":"hfm0m","@parcel/transformer-js/src/esmodule-helpers.js":"6ykb1"}],"1dVMq":[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6 26.5 0 48 21.5 48 48v128c0 26.5-21.5 48-48 48-44.2 0-80-35.8-80-80V288C0 146.6 114.6 32 256 32s256 114.6 256 256v112c0 44.2-35.8 80-80 80-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48 10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80"/></svg>'},{}],hfm0m:[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64Zm323.8 106.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6-26.5-33.1c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S78.8 416 88 416h336c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7ZM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96"/></svg>'},{}],"6ykb1":[function(e,t,n,o){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.definLine truncated
|
||||
+1
-1
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,n,o,r,i,u,a){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},c="function"==typeof l[o]&&l[o],d=c.i||{},f=c.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!f[t]){if(!e[t]){if(r[t])return r[t];var i="function"==typeof l[o]&&l[o];if(!n&&i)return i(t,!0);if(c)return c(t,!0);if(s&&"string"==typeof t)return s(t);var u=Error("Cannot find module '"+t+"'");throw u.code="MODULE_NOT_FOUND",u}d.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},d.cache={};var a=f[t]=new p.Module(t);e[t][0].call(a.exports,d,a,a.exports,l)}return f[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=s,this.exports={}},p.modules=e,p.cache=f,p.parent=c,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=d,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return l[o]}}),l[o]=p;for(var h=0;h<t.length;h++)p(t[h]);if(n){var g=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({bzF6W:[function(e,t,n,o){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n),r.export(n,"default",function(){return d});var i=e("bundle-text:./quality.svg"),u=r.interopDefault(i),a=e("bundle-text:./audio.svg"),l=r.interopDefault(a);function c(e,t){var n=new Map;return e.filter(function(e){var o=e[t];return void 0===o||!n.has(o)&&n.set(o,1)})}function d(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var n=t.template.$video,o=t.constructor.utils.errorHandle;function r(){o(t.dash.getVideoElement()===n,'Cannot find instance of DASH from "art.dash"'),function(n){var o=n.getBitrateInfoListFor("video");if(o&&o.length){var r=e.quality||{},i=r.auto||"Auto",a=r.title||"Quality",l=r.getName||function(e){return"".concat(e.height,"p")},d=n.getQualityFor("video"),f=n.getSettings().streaming.abr.autoSwitchBitrate.video,s=f?i:l(o[d]),p=c(o.map(function(e){return{html:l(e),value:e.qualityIndex,default:d===e.qualityIndex&&!f}}),"html").sort(function(e,t){return t.value-e.value});p.push({html:i,value:"auto",default:f});var h=function(e){return"auto"===e.value?n.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!0}}}}):(n.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!1}}}}),n.setQualityFor("video",e.value)),t.notice.show="".concat(a,": ").concat(e.html),r.control&&t.controls.check(e),r.setting&&t.setting.check(e),e.html};r.control&&t.controls.update({name:"dash-quality",position:"right",html:s,style:{padding:"0 10px"},selector:p,onSelect:h}),r.setting&&t.setting.update({name:"dash-quality",tooltip:s,html:a,icon:u.default,width:200,selector:p,onSelect:h})}}(t.dash),function(n){var o=n.getTracksFor("audio");if(o&&o.length){var r=e.audio||{},i=r.auto||"Auto",u=r.title||"Audio",a=r.getName||function(e){return e.lang||e.id},d=n.getCurrentTrackFor("audio")||o[0],f=d?a(d):i,s=c(o.map(function(e){return{html:a(e),value:e,default:d===e}}),"html"),p=function(e){return n.setCurrentTrack(e.value),t.notice.show="".concat(u,": ").concat(e.html),r.control&&t.controls.check(e),r.setting&&t.setting.check(e),e.html};r.control&&t.controls.update({name:"dash-audio",position:"right",html:f,style:{padding:"0 10px"},selector:s,onSelect:p}),r.setting&&t.setting.update({name:"dash-audio",tooltip:f,html:u,icon:l.default,width:200,selector:s,onSelect:p})}}(t.dash)}return t.on("ready",r),t.on("restart",r),{name:"artplayerPluginDashControl",update:r}}}"undefined"!=typeof window&&(window.artplayerPluginDashControl=d)},{"bundle-text:./quality.svg":"emaAn","bundle-text:./audio.svg":"5cT3J","@parcel/transformer-js/src/esmodule-helpers.js":"ihnSZ"}],emaAn:[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zm323.8 106.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6-26.5-33.1c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S78.8 416 88 416h336c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96"/></svg>'},{}],"5cT3J":[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6 26.5 0 48 21.5 48 48v128c0 26.5-21.5 48-48 48-44.2 0-80-35.8-80-80V288C0 146.6 114.6 32 256 32s256 114.6 256 256v112c0 44.2-35.8 80-80 80-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48 10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80"/></svg>'},{}],ihnSZ:[function(e,t,n,o){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=functiLine truncated
|
||||
!function(t,e,n,o,r,i,u,a){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},c="function"==typeof l[o]&&l[o],d=c.i||{},f=c.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(e,n){if(!f[e]){if(!t[e]){if(r[e])return r[e];var i="function"==typeof l[o]&&l[o];if(!n&&i)return i(e,!0);if(c)return c(e,!0);if(s&&"string"==typeof e)return s(e);var u=Error("Cannot find module '"+e+"'");throw u.code="MODULE_NOT_FOUND",u}d.resolve=function(n){var o=t[e][1][n];return null!=o?o:n},d.cache={};var a=f[e]=new p.Module(e);t[e][0].call(a.exports,d,a,a.exports,l)}return f[e].exports;function d(t){var e=d.resolve(t);return!1===e?{}:p(e)}}p.isParcelRequire=!0,p.Module=function(t){this.id=t,this.bundle=p,this.require=s,this.exports={}},p.modules=t,p.cache=f,p.parent=c,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=d,p.register=function(e,n){t[e]=[function(t,e){e.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return l[o]}}),l[o]=p;for(var h=0;h<e.length;h++)p(e[h]);if(n){var g=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({SomuF:[function(t,e,n,o){var r=t("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n),r.export(n,"default",function(){return d});var i=t("bundle-text:./audio.svg"),u=r.interopDefault(i),a=t("bundle-text:./quality.svg"),l=r.interopDefault(a);function c(t,e){var n=new Map;return t.filter(function(t){var o=t[e];return void 0===o||!n.has(o)&&n.set(o,1)})}function d(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(e){var n=e.template.$video,o=e.constructor.utils.errorHandle;function r(){o(e.dash.getVideoElement()===n,'Cannot find instance of DASH from "art.dash"'),function(n){var o=n.getBitrateInfoListFor("video");if(o&&o.length){var r=t.quality||{},i=r.auto||"Auto",u=r.title||"Quality",a=r.getName||function(t){return"".concat(t.height,"p")},d=n.getQualityFor("video"),f=n.getSettings().streaming.abr.autoSwitchBitrate.video,s=f?i:a(o[d]),p=c(o.map(function(t){return{html:a(t),value:t.qualityIndex,default:d===t.qualityIndex&&!f}}),"html").sort(function(t,e){return e.value-t.value});p.push({html:i,value:"auto",default:f});var h=function(t){return"auto"===t.value?n.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!0}}}}):(n.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!1}}}}),n.setQualityFor("video",t.value)),e.notice.show="".concat(u,": ").concat(t.html),r.control&&e.controls.check(t),r.setting&&e.setting.check(t),t.html};r.control&&e.controls.update({name:"dash-quality",position:"right",html:s,style:{padding:"0 10px"},selector:p,onSelect:h}),r.setting&&e.setting.update({name:"dash-quality",tooltip:s,html:u,icon:l.default,width:200,selector:p,onSelect:h})}}(e.dash),function(n){var o=n.getTracksFor("audio");if(o&&o.length){var r=t.audio||{},i=r.auto||"Auto",a=r.title||"Audio",l=r.getName||function(t){return t.lang||t.id},d=n.getCurrentTrackFor("audio")||o[0],f=d?l(d):i,s=c(o.map(function(t){return{html:l(t),value:t,default:d===t}}),"html"),p=function(t){return n.setCurrentTrack(t.value),e.notice.show="".concat(a,": ").concat(t.html),r.control&&e.controls.check(t),r.setting&&e.setting.check(t),t.html};r.control&&e.controls.update({name:"dash-audio",position:"right",html:f,style:{padding:"0 10px"},selector:s,onSelect:p}),r.setting&&e.setting.update({name:"dash-audio",tooltip:f,html:a,icon:u.default,width:200,selector:s,onSelect:p})}}(e.dash)}return e.on("ready",r),e.on("restart",r),{name:"artplayerPluginDashControl",update:r}}}"undefined"!=typeof window&&(window.artplayerPluginDashControl=d)},{"bundle-text:./audio.svg":"lUA8D","bundle-text:./quality.svg":"gqRgl","@parcel/transformer-js/src/esmodule-helpers.js":"qpMMf"}],lUA8D:[function(t,e,n,o){e.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6 26.5 0 48 21.5 48 48v128c0 26.5-21.5 48-48 48-44.2 0-80-35.8-80-80V288C0 146.6 114.6 32 256 32s256 114.6 256 256v112c0 44.2-35.8 80-80 80-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48 10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80"/></svg>'},{}],gqRgl:[function(t,e,n,o){e.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64Zm323.8 106.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6-26.5-33.1c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S78.8 416 88 416h336c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7ZM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96"/></svg>'},{}],qpMMf:[function(t,e,n,o){n.interopDefault=function(t){return t&&t.__esModule?t:{default:t}},n.defineInteropFlag=functionLine truncated
|
||||
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"license": "MIT",
|
||||
"version": "1.0.0",
|
||||
"name": "artplayer-plugin-dash-control",
|
||||
"description": "Dash control plugin for ArtPlayer",
|
||||
"main": "dist/artplayer-plugin-dash-control.js",
|
||||
"legacy": "dist/artplayer-plugin-dash-control.legacy.js",
|
||||
"module": "dist/artplayer-plugin-dash-control.esm.js",
|
||||
"types": "types/artplayer-plugin-dash-control.d.ts",
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-dash-control.esm.js",
|
||||
"require": "./dist/artplayer-plugin-dash-control.js",
|
||||
"default": "./dist/artplayer-plugin-dash-control.js"
|
||||
},
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
]
|
||||
"name": "artplayer-plugin-dash-control",
|
||||
"version": "1.0.0",
|
||||
"description": "Dash control plugin for ArtPlayer",
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"license": "MIT",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-dash-control.esm.js",
|
||||
"require": "./dist/artplayer-plugin-dash-control.js",
|
||||
"default": "./dist/artplayer-plugin-dash-control.js"
|
||||
},
|
||||
"main": "dist/artplayer-plugin-dash-control.js",
|
||||
"legacy": "dist/artplayer-plugin-dash-control.legacy.js",
|
||||
"module": "dist/artplayer-plugin-dash-control.esm.js",
|
||||
"types": "types/artplayer-plugin-dash-control.d.ts",
|
||||
"browserslist": "last 1 Chrome version"
|
||||
}
|
||||
@@ -1,174 +1,181 @@
|
||||
import $quality from 'bundle-text:./quality.svg';
|
||||
import $audio from 'bundle-text:./audio.svg';
|
||||
import $audio from 'bundle-text:./audio.svg'
|
||||
import $quality from 'bundle-text:./quality.svg'
|
||||
|
||||
function uniqBy(array, property) {
|
||||
const seen = new Map();
|
||||
return array.filter((item) => {
|
||||
const key = item[property];
|
||||
if (key === undefined) {
|
||||
return true;
|
||||
}
|
||||
return !seen.has(key) && seen.set(key, 1);
|
||||
});
|
||||
const seen = new Map()
|
||||
return array.filter((item) => {
|
||||
const key = item[property]
|
||||
if (key === undefined) {
|
||||
return true
|
||||
}
|
||||
return !seen.has(key) && seen.set(key, 1)
|
||||
})
|
||||
}
|
||||
|
||||
export default function artplayerPluginDashControl(option = {}) {
|
||||
return (art) => {
|
||||
const { $video } = art.template;
|
||||
const { errorHandle } = art.constructor.utils;
|
||||
return (art) => {
|
||||
const { $video } = art.template
|
||||
const { errorHandle } = art.constructor.utils
|
||||
|
||||
function updateQuality(dash) {
|
||||
const qualities = dash.getBitrateInfoListFor('video');
|
||||
if (!qualities || !qualities.length) return;
|
||||
function updateQuality(dash) {
|
||||
const qualities = dash.getBitrateInfoListFor('video')
|
||||
if (!qualities || !qualities.length)
|
||||
return
|
||||
|
||||
const config = option.quality || {};
|
||||
const auto = config.auto || 'Auto';
|
||||
const title = config.title || 'Quality';
|
||||
const getName = config.getName || ((level) => `${level.height}p`);
|
||||
const currentQuality = dash.getQualityFor('video');
|
||||
const currentAuto = dash.getSettings().streaming.abr.autoSwitchBitrate['video'];
|
||||
const defaultHtml = currentAuto ? auto : getName(qualities[currentQuality]);
|
||||
const config = option.quality || {}
|
||||
const auto = config.auto || 'Auto'
|
||||
const title = config.title || 'Quality'
|
||||
const getName = config.getName || (level => `${level.height}p`)
|
||||
const currentQuality = dash.getQualityFor('video')
|
||||
const currentAuto = dash.getSettings().streaming.abr.autoSwitchBitrate.video
|
||||
const defaultHtml = currentAuto ? auto : getName(qualities[currentQuality])
|
||||
|
||||
const selector = uniqBy(
|
||||
qualities.map((item) => {
|
||||
return {
|
||||
html: getName(item),
|
||||
value: item.qualityIndex,
|
||||
default: currentQuality === item.qualityIndex && !currentAuto,
|
||||
};
|
||||
}),
|
||||
'html',
|
||||
).sort((a, b) => b.value - a.value);
|
||||
const selector = uniqBy(
|
||||
qualities.map((item) => {
|
||||
return {
|
||||
html: getName(item),
|
||||
value: item.qualityIndex,
|
||||
default: currentQuality === item.qualityIndex && !currentAuto,
|
||||
}
|
||||
}),
|
||||
'html',
|
||||
).sort((a, b) => b.value - a.value)
|
||||
|
||||
selector.push({
|
||||
html: auto,
|
||||
value: 'auto',
|
||||
default: currentAuto,
|
||||
});
|
||||
selector.push({
|
||||
html: auto,
|
||||
value: 'auto',
|
||||
default: currentAuto,
|
||||
})
|
||||
|
||||
const onSelect = (item) => {
|
||||
if (item.value === 'auto') {
|
||||
dash.updateSettings({
|
||||
streaming: {
|
||||
abr: {
|
||||
autoSwitchBitrate: {
|
||||
video: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
} else {
|
||||
dash.updateSettings({
|
||||
streaming: {
|
||||
abr: {
|
||||
autoSwitchBitrate: {
|
||||
video: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
dash.setQualityFor('video', item.value);
|
||||
}
|
||||
art.notice.show = `${title}: ${item.html}`;
|
||||
if (config.control) art.controls.check(item);
|
||||
if (config.setting) art.setting.check(item);
|
||||
return item.html;
|
||||
};
|
||||
|
||||
if (config.control) {
|
||||
art.controls.update({
|
||||
name: 'dash-quality',
|
||||
position: 'right',
|
||||
html: defaultHtml,
|
||||
style: { padding: '0 10px' },
|
||||
selector: selector,
|
||||
onSelect: onSelect,
|
||||
});
|
||||
}
|
||||
|
||||
if (config.setting) {
|
||||
art.setting.update({
|
||||
name: 'dash-quality',
|
||||
tooltip: defaultHtml,
|
||||
html: title,
|
||||
icon: $quality,
|
||||
width: 200,
|
||||
selector: selector,
|
||||
onSelect: onSelect,
|
||||
});
|
||||
}
|
||||
const onSelect = (item) => {
|
||||
if (item.value === 'auto') {
|
||||
dash.updateSettings({
|
||||
streaming: {
|
||||
abr: {
|
||||
autoSwitchBitrate: {
|
||||
video: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
function updateAudio(dash) {
|
||||
const audioTracks = dash.getTracksFor('audio');
|
||||
if (!audioTracks || !audioTracks.length) return;
|
||||
|
||||
const config = option.audio || {};
|
||||
const auto = config.auto || 'Auto';
|
||||
const title = config.title || 'Audio';
|
||||
const getName = config.getName || ((track) => track.lang || track.id);
|
||||
const currentTrack = dash.getCurrentTrackFor('audio') || audioTracks[0];
|
||||
const defaultHtml = currentTrack ? getName(currentTrack) : auto;
|
||||
|
||||
const selector = uniqBy(
|
||||
audioTracks.map((item) => {
|
||||
return {
|
||||
html: getName(item),
|
||||
value: item,
|
||||
default: currentTrack === item,
|
||||
};
|
||||
}),
|
||||
'html',
|
||||
);
|
||||
|
||||
const onSelect = (item) => {
|
||||
dash.setCurrentTrack(item.value);
|
||||
art.notice.show = `${title}: ${item.html}`;
|
||||
if (config.control) art.controls.check(item);
|
||||
if (config.setting) art.setting.check(item);
|
||||
return item.html;
|
||||
};
|
||||
|
||||
if (config.control) {
|
||||
art.controls.update({
|
||||
name: 'dash-audio',
|
||||
position: 'right',
|
||||
html: defaultHtml,
|
||||
style: { padding: '0 10px' },
|
||||
selector: selector,
|
||||
onSelect: onSelect,
|
||||
});
|
||||
}
|
||||
|
||||
if (config.setting) {
|
||||
art.setting.update({
|
||||
name: 'dash-audio',
|
||||
tooltip: defaultHtml,
|
||||
html: title,
|
||||
icon: $audio,
|
||||
width: 200,
|
||||
selector: selector,
|
||||
onSelect: onSelect,
|
||||
});
|
||||
}
|
||||
else {
|
||||
dash.updateSettings({
|
||||
streaming: {
|
||||
abr: {
|
||||
autoSwitchBitrate: {
|
||||
video: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
dash.setQualityFor('video', item.value)
|
||||
}
|
||||
art.notice.show = `${title}: ${item.html}`
|
||||
if (config.control)
|
||||
art.controls.check(item)
|
||||
if (config.setting)
|
||||
art.setting.check(item)
|
||||
return item.html
|
||||
}
|
||||
|
||||
function update() {
|
||||
errorHandle(art.dash.getVideoElement() === $video, 'Cannot find instance of DASH from "art.dash"');
|
||||
updateQuality(art.dash);
|
||||
updateAudio(art.dash);
|
||||
}
|
||||
if (config.control) {
|
||||
art.controls.update({
|
||||
name: 'dash-quality',
|
||||
position: 'right',
|
||||
html: defaultHtml,
|
||||
style: { padding: '0 10px' },
|
||||
selector,
|
||||
onSelect,
|
||||
})
|
||||
}
|
||||
|
||||
art.on('ready', update);
|
||||
art.on('restart', update);
|
||||
if (config.setting) {
|
||||
art.setting.update({
|
||||
name: 'dash-quality',
|
||||
tooltip: defaultHtml,
|
||||
html: title,
|
||||
icon: $quality,
|
||||
width: 200,
|
||||
selector,
|
||||
onSelect,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginDashControl',
|
||||
update,
|
||||
};
|
||||
};
|
||||
function updateAudio(dash) {
|
||||
const audioTracks = dash.getTracksFor('audio')
|
||||
if (!audioTracks || !audioTracks.length)
|
||||
return
|
||||
|
||||
const config = option.audio || {}
|
||||
const auto = config.auto || 'Auto'
|
||||
const title = config.title || 'Audio'
|
||||
const getName = config.getName || (track => track.lang || track.id)
|
||||
const currentTrack = dash.getCurrentTrackFor('audio') || audioTracks[0]
|
||||
const defaultHtml = currentTrack ? getName(currentTrack) : auto
|
||||
|
||||
const selector = uniqBy(
|
||||
audioTracks.map((item) => {
|
||||
return {
|
||||
html: getName(item),
|
||||
value: item,
|
||||
default: currentTrack === item,
|
||||
}
|
||||
}),
|
||||
'html',
|
||||
)
|
||||
|
||||
const onSelect = (item) => {
|
||||
dash.setCurrentTrack(item.value)
|
||||
art.notice.show = `${title}: ${item.html}`
|
||||
if (config.control)
|
||||
art.controls.check(item)
|
||||
if (config.setting)
|
||||
art.setting.check(item)
|
||||
return item.html
|
||||
}
|
||||
|
||||
if (config.control) {
|
||||
art.controls.update({
|
||||
name: 'dash-audio',
|
||||
position: 'right',
|
||||
html: defaultHtml,
|
||||
style: { padding: '0 10px' },
|
||||
selector,
|
||||
onSelect,
|
||||
})
|
||||
}
|
||||
|
||||
if (config.setting) {
|
||||
art.setting.update({
|
||||
name: 'dash-audio',
|
||||
tooltip: defaultHtml,
|
||||
html: title,
|
||||
icon: $audio,
|
||||
width: 200,
|
||||
selector,
|
||||
onSelect,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function update() {
|
||||
errorHandle(art.dash.getVideoElement() === $video, 'Cannot find instance of DASH from "art.dash"')
|
||||
updateQuality(art.dash)
|
||||
updateAudio(art.dash)
|
||||
}
|
||||
|
||||
art.on('ready', update)
|
||||
art.on('restart', update)
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginDashControl',
|
||||
update,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window['artplayerPluginDashControl'] = artplayerPluginDashControl;
|
||||
window.artplayerPluginDashControl = artplayerPluginDashControl
|
||||
}
|
||||
+13
-13
@@ -1,17 +1,17 @@
|
||||
import type Artplayer from 'artplayer';
|
||||
import type Artplayer from 'artplayer'
|
||||
|
||||
export = artplayerPluginDashControl;
|
||||
export = artplayerPluginDashControl
|
||||
export as namespace artplayerPluginDashControl;
|
||||
|
||||
type Config = {
|
||||
control?: boolean;
|
||||
setting?: boolean;
|
||||
title?: string;
|
||||
auto?: string;
|
||||
getName?(level: object): String;
|
||||
};
|
||||
interface Config {
|
||||
control?: boolean
|
||||
setting?: boolean
|
||||
title?: string
|
||||
auto?: string
|
||||
getName?: (level: object) => string
|
||||
}
|
||||
|
||||
declare const artplayerPluginDashControl: (option: { quality?: Config; audio?: Config }) => (art: Artplayer) => {
|
||||
name: 'artplayerPluginDashControl';
|
||||
update: () => void;
|
||||
};
|
||||
declare const artplayerPluginDashControl: (option: { quality?: Config, audio?: Config }) => (art: Artplayer) => {
|
||||
name: 'artplayerPluginDashControl'
|
||||
update: () => void
|
||||
}
|
||||
+1
-1
@@ -5,5 +5,5 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,n,o,r,l,i,u){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},c="function"==typeof a[o]&&a[o],s=c.i||{},f=c.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!f[t]){if(!e[t]){if(r[t])return r[t];var l="function"==typeof a[o]&&a[o];if(!n&&l)return l(t,!0);if(c)return c(t,!0);if(d&&"string"==typeof t)return d(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}s.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},s.cache={};var u=f[t]=new p.Module(t);e[t][0].call(u.exports,s,u,u.exports,a)}return f[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=d,this.exports={}},p.modules=e,p.cache=f,p.parent=c,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=s,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return a[o]}}),a[o]=p;for(var h=0;h<t.length;h++)p(t[h]);if(n){var m=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({"4omrA":[function(e,t,n,o){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n),r.export(n,"default",()=>s);var l=e("bundle-text:./quality.svg"),i=r.interopDefault(l),u=e("bundle-text:./audio.svg"),a=r.interopDefault(u);function c(e,t){let n=new Map;return e.filter(e=>{let o=e[t];return void 0===o||!n.has(o)&&n.set(o,1)})}function s(e={}){return t=>{let{$video:n}=t.template,{errorHandle:o}=t.constructor.utils;function r(){o(t.hls?.media===n,'Cannot find instance of HLS from "art.hls"'),function(n){if(!n.levels.length)return;let o=e.quality||{},r=o.auto||"Auto",l=o.title||"Quality",u=o.getName||(e=>e.name||e.height+"P"),a=n.levels[n.currentLevel],s=a?u(a):r,f=c(n.levels.map((e,t)=>({html:u(e,t),value:t,default:n.currentLevel===t})),"html").sort((e,t)=>t.value-e.value);f.push({html:r,value:-1,default:-1===n.currentLevel});let d=e=>(n.currentLevel=e.value,t.notice.show=`${l}: ${e.html}`,o.control&&t.controls.check(e),o.setting&&t.setting.check(e),e.html);o.control&&t.controls.update({name:"hls-quality",position:"right",html:s,style:{padding:"0 10px"},selector:f,onSelect:d}),o.setting&&t.setting.update({name:"hls-quality",tooltip:s,html:l,icon:i.default,width:200,selector:f,onSelect:d})}(t.hls),function(n){if(!n.audioTracks.length)return;let o=e.audio||{},r=o.auto||"Auto",l=o.title||"Audio",i=o.getName||(e=>e.name||e.lang||e.language),u=n.audioTracks[n.audioTrack],s=u?i(u):r,f=c(n.audioTracks.map((e,t)=>({html:i(e,t),value:e.id,default:n.audioTrack===e.id})),"html"),d=e=>(n.audioTrack=e.value,t.notice.show=`${l}: ${e.html}`,o.control&&t.controls.check(e),o.setting&&t.setting.check(e),e.html);o.control&&t.controls.update({name:"hls-audio",position:"right",html:s,style:{padding:"0 10px"},selector:f,onSelect:d}),o.setting&&t.setting.update({name:"hls-audio",tooltip:s,html:l,icon:a.default,width:200,selector:f,onSelect:d})}(t.hls)}return t.on("ready",r),t.on("restart",r),{name:"artplayerPluginHlsControl",update:r}}}"undefined"!=typeof window&&(window.artplayerPluginHlsControl=s)},{"bundle-text:./quality.svg":"5iEAx","bundle-text:./audio.svg":"909Xy","@parcel/transformer-js/src/esmodule-helpers.js":"w4pLy"}],"5iEAx":[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zm323.8 106.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6-26.5-33.1c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S78.8 416 88 416h336c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96"/></svg>'},{}],"909Xy":[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6 26.5 0 48 21.5 48 48v128c0 26.5-21.5 48-48 48-44.2 0-80-35.8-80-80V288C0 146.6 114.6 32 256 32s256 114.6 256 256v112c0 44.2-35.8 80-80 80-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48 10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80"/></svg>'},{}],w4pLy:[function(e,t,n,o){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["4omrA"],"4omrA","parcelRequire8255",{});let{default:e}=parcelRequire8255("4omrA");export{e as default}Line truncated
|
||||
!function(e,t,n,o,r,l,i,u){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof a[o]&&a[o],s=d.i||{},f=d.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!f[t]){if(!e[t]){if(r[t])return r[t];var l="function"==typeof a[o]&&a[o];if(!n&&l)return l(t,!0);if(d)return d(t,!0);if(c&&"string"==typeof t)return c(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}s.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},s.cache={};var u=f[t]=new p.Module(t);e[t][0].call(u.exports,s,u,u.exports,a)}return f[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=c,this.exports={}},p.modules=e,p.cache=f,p.parent=d,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=s,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return a[o]}}),a[o]=p;for(var h=0;h<t.length;h++)p(t[h]);if(n){var g=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({f9bsd:[function(e,t,n,o){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n),r.export(n,"default",()=>s);var l=e("bundle-text:./audio.svg"),i=r.interopDefault(l),u=e("bundle-text:./quality.svg"),a=r.interopDefault(u);function d(e,t){let n=new Map;return e.filter(e=>{let o=e[t];return void 0===o||!n.has(o)&&n.set(o,1)})}function s(e={}){return t=>{let{$video:n}=t.template,{errorHandle:o}=t.constructor.utils;function r(){o(t.hls?.media===n,'Cannot find instance of HLS from "art.hls"'),function(n){if(!n.levels.length)return;let o=e.quality||{},r=o.auto||"Auto",l=o.title||"Quality",i=o.getName||(e=>e.name||`${e.height}P`),u=n.levels[n.currentLevel],s=u?i(u):r,f=d(n.levels.map((e,t)=>({html:i(e,t),value:t,default:n.currentLevel===t})),"html").sort((e,t)=>t.value-e.value);f.push({html:r,value:-1,default:-1===n.currentLevel});let c=e=>(n.currentLevel=e.value,t.notice.show=`${l}: ${e.html}`,o.control&&t.controls.check(e),o.setting&&t.setting.check(e),e.html);o.control&&t.controls.update({name:"hls-quality",position:"right",html:s,style:{padding:"0 10px"},selector:f,onSelect:c}),o.setting&&t.setting.update({name:"hls-quality",tooltip:s,html:l,icon:a.default,width:200,selector:f,onSelect:c})}(t.hls),function(n){if(!n.audioTracks.length)return;let o=e.audio||{},r=o.auto||"Auto",l=o.title||"Audio",u=o.getName||(e=>e.name||e.lang||e.language),a=n.audioTracks[n.audioTrack],s=a?u(a):r,f=d(n.audioTracks.map((e,t)=>({html:u(e,t),value:e.id,default:n.audioTrack===e.id})),"html"),c=e=>(n.audioTrack=e.value,t.notice.show=`${l}: ${e.html}`,o.control&&t.controls.check(e),o.setting&&t.setting.check(e),e.html);o.control&&t.controls.update({name:"hls-audio",position:"right",html:s,style:{padding:"0 10px"},selector:f,onSelect:c}),o.setting&&t.setting.update({name:"hls-audio",tooltip:s,html:l,icon:i.default,width:200,selector:f,onSelect:c})}(t.hls)}return t.on("ready",r),t.on("restart",r),{name:"artplayerPluginHlsControl",update:r}}}"undefined"!=typeof window&&(window.artplayerPluginHlsControl=s)},{"bundle-text:./audio.svg":"igHyj","bundle-text:./quality.svg":"jhLre","@parcel/transformer-js/src/esmodule-helpers.js":"5lQoW"}],igHyj:[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6 26.5 0 48 21.5 48 48v128c0 26.5-21.5 48-48 48-44.2 0-80-35.8-80-80V288C0 146.6 114.6 32 256 32s256 114.6 256 256v112c0 44.2-35.8 80-80 80-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48 10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80"/></svg>'},{}],jhLre:[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64Zm323.8 106.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6-26.5-33.1c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S78.8 416 88 416h336c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7ZM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96"/></svg>'},{}],"5lQoW":[function(e,t,n,o){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["f9bsd"],"f9bsd","parcelRequire4dc0",{});let{default:e}=parcelRequire4dc0("f9bsd");export{e as default};
|
||||
//# sourceMappingURL=artplayer-plugin-hls-control.esm.js.map
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCcwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAdxB,IAAA,EAAA,EAAA,6B,E,E,c,C,GACA,EAAA,EAAA,2B,E,E,c,C,GAEA,SAAS,EAAO,CAAK,CAAE,CAAQ,EAC3B,IAAM,EAAO,IAAI,IACjB,OAAO,EAAM,MAAM,CAAC,AAAC,IACjB,IAAM,EAAM,CAAI,CAAC,EAAS,QAC1B,AAAY,KAAA,IAAR,GAGG,CAAC,EAAK,GAAG,CAAC,IAAQ,EAAK,GAAG,CAAC,EAAK,EAC3C,EACJ,CAEe,SAAS,EAA0B,EAAS,CAAC,CAAC,EACzD,OAAO,AAAC,IA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","sources":["<anon>","src/index.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-26d48274f89c9ca8.js","../../node_modules/@parcel/runtime-js/lib/bundles/runtime-5b9ef104be305102.js","../../node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["// modules are defined as an array\n// [ module function, map of requires ]\n//\n// map of requires is short require name -> numeric require\n//\n// anything defined in a previous bundle is accessed via the\n// orig method which is the require for previous bundles\n\n(function (\n modules,\n entry,\n mainEntry,\n parcelRequireName,\n externals,\n distDir,\n publicUrl,\n devSLine truncated
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,M,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCcwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAdxB,IAAA,EAAA,EAAA,2B,E,E,c,C,GACA,EAAA,EAAA,6B,E,E,c,C,GAEA,SAAS,EAAO,CAAK,CAAE,CAAQ,EAC7B,IAAM,EAAO,IAAI,IACjB,OAAO,EAAM,MAAM,CAAC,AAAC,IACnB,IAAM,EAAM,CAAI,CAAC,EAAS,QAC1B,AAAY,KAAA,IAAR,GAGG,CAAC,EAAK,GAAG,CAAC,IAAQ,EAAK,GAAG,CAAC,EAAK,EACzC,EACF,CAEe,SAAS,EAA0B,EAAS,CAAC,CAAC,EAC3D,OAAO,AAAC,IACN,GAAM,CAAE,OAAA,CAAM,CAAE,CAAG,EAAI,QAAQ,CACzB,CAAE,YAAA,CAAW,CAAE,CAAG,EAAI,WAAW,CAAC,KAAK,CAwH7C,SAAS,IACP,EAAY,EAAI,GAAG,EAAE,QAAU,EAAQ,8CACvC,AAxHF,SAAuB,CAAG,EACxB,GAAI,CAAC,EAAI,MAAM,CAAC,MAAM,CACpB,OAEF,IAAM,EAAS,EAAO,OAAO,EAAI,CAAC,EAC5B,EAAO,EAAO,IAAI,EAAI,OACtB,EAAQ,EAAO,KAAK,EAAI,UACxB,EAAU,EAAO,OAAO,EAAK,CAAA,AAAA,GAAS,EAAM,IAAI,EAAI,CAAA,EAAG,EAAM,MAAM,CAAC,CAAC,CAAC,AAAD,EACrE,EAAe,EAAI,MAAM,CAAC,EAAI,YAAY,CAAC,CAC3C,EAAc,EAAe,EAAQ,GAAgB,EAErD,EAAW,EACf,EAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAM,IACb,CAAA,CACL,KAAM,EAAQ,EAAM,GACpB,MAAO,EACP,QAAS,EAAI,YAAY,GAAK,CAChC,CAAA,GAEF,QACA,IAAI,CAAC,CAAC,EAAG,IAAM,EAAE,KAAK,CAAG,EAAE,KAAK,EAElC,EAAS,IAAI,CAAC,CACZ,KAAM,EACN,MAAO,GACP,QAAS,AAAqB,KAArB,EAAI,YAAY,AAC3B,GAEA,IAAM,EAAW,AAAC,IAChB,EAAI,YAAY,CAAG,EAAK,KAAK,CAC7B,EAAI,MAAM,CAAC,IAAI,CAAG,CAAA,EAAG,EAAM,EAAE,EAAE,EAAK,IAAI,CAAA,CAAE,CACtC,EAAO,OAAO,EAChB,EAAI,QAAQ,CAAC,KAAK,CAAC,GACjB,EAAO,OAAO,EAChB,EAAI,OAAO,CAAC,KAAK,CAAC,GACb,EAAK,IAAI,CAGd,CAAA,EAAO,OAAO,EAChB,EAAI,QAAQ,CAAC,MAAM,CAAC,CAClB,KAAM,cACN,SAAU,QACV,KAAM,EACN,MAAO,CAAE,QAAS,QAAS,EAC3B,SAAA,EACA,SAAA,CACF,GAGE,EAAO,OAAO,EAChB,EAAI,OAAO,CAAC,MAAM,CAAC,CACjB,KAAM,cACN,QAAS,EACT,KAAM,EACN,KAAM,EAAA,OAAO,CACb,MAAO,IACP,SAAA,EACA,SAAA,CACF,EAEJ,EA4DgB,EAAI,GAAG,EACrB,AA3DF,SAAqB,CAAG,EACtB,GAAI,CAAC,EAAI,WAAW,CAAC,MAAM,CACzB,OAEF,IAAM,EAAS,EAAO,KAAK,EAAI,CAAC,EAC1B,EAAO,EAAO,IAAI,EAAI,OACtB,EAAQ,EAAO,KAAK,EAAI,QACxB,EAAU,EAAO,OAAO,EAAK,CAAA,AAAA,GAAS,EAAM,IAAI,EAAI,EAAM,IAAI,EAAI,EAAM,QAAQ,AAAR,EACxE,EAAe,EAAI,WAAW,CAAC,EAAI,UAAU,CAAC,CAC9C,EAAc,EAAe,EAAQ,GAAgB,EAErD,EAAW,EACf,EAAI,WAAW,CAAC,GAAG,CAAC,CAAC,EAAM,IAClB,CAAA,CACL,KAAM,EAAQ,EAAM,GACpB,MAAO,EAAK,EAAE,CACd,QAAS,EAAI,UAAU,GAAK,EAAK,EAAE,AACrC,CAAA,GAEF,QAGI,EAAW,AAAC,IAChB,EAAI,UAAU,CAAG,EAAK,KAAK,CAC3B,EAAI,MAAM,CAAC,IAAI,CAAG,CAAA,EAAG,EAAM,EAAE,EAAE,EAAK,IAAI,CAAA,CAAE,CACtC,EAAO,OAAO,EAChB,EAAI,QAAQ,CAAC,KAAK,CAAC,GACjB,EAAO,OAAO,EAChB,EAAI,OAAO,CAAC,KAAK,CAAC,GACb,EAAK,IAAI,CAGd,CAAA,EAAO,OAAO,EAChB,EAAI,QAAQ,CAAC,MAAM,CAAC,CAClB,KAAM,YACN,SAAU,QACV,KAAM,EACN,MAAO,CAAE,QAAS,QAAS,EAC3B,SAAA,EACA,SAAA,CACF,GAGE,EAAO,OAAO,EAChB,EAAI,OAAO,CAAC,MAAM,CAAC,CACjB,KAAM,YACN,QAAS,EACT,KAAM,EACN,KAAM,EAAA,OAAK,CACX,MAAO,IACP,SAAA,EACA,SAAA,CACF,EAEJ,EAKc,EAAI,GAAG,CACrB,CAKA,OAHA,EAAI,EAAE,CAAC,QAAS,GAChB,EAAI,EAAE,CAAC,UAAW,GAEX,CACL,KAAM,4BACN,OAAA,CACF,CACF,CACF,CAEI,AAAkB,aAAlB,OAAO,QACT,CAAA,OAAO,yBAAyB,CAAG,CADrC,C,E,C,0B,Q,4B,Q,iD,O,E,C,M,C,S,C,C,C,C,C,C,C,ECzJA,EAAO,OAAO,CAAG,6Y,E,C,E,C,M,C,S,C,C,C,C,C,C,C,ECAjB,EAAO,OAAO,CAAG,qd,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,ECAjB,EAAQ,cAAc,CAAG,SAAU,CAAC,EAClC,OAAO,GAAK,EAAE,UAAU,CAAG,EAAI,CAAC,QAAS,CAAC,CAC5C,EAEA,EAAQ,iBAAiB,CAAG,SAAU,CAAC,EACrC,OAAO,cAAc,CAAC,EAAG,aAAc,CAAC,MAAO,CAAA,CAAI,EACrD,EAEA,EAAQ,SAAS,CAAG,SAAU,CAAM,CAAE,CAAI,EAkBxC,OAjBA,OAAO,IAAI,CAAC,GAAQ,OAAO,CAAC,SAAU,CAAG,EAE7B,YAAR,GACA,AAAQ,eAAR,GACA,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAM,IAK7C,OAAO,cAAc,CAAC,EAAM,EAAK,CAC/B,WAAY,CAAA,EACZ,IAAK,WACH,OAAO,CAAM,CAAC,EAAI,AACpB,CACF,EACF,GAEO,CACT,EAEA,EAAQ,MAAM,CAAG,SAAU,CAAI,CAAE,CAAQ,CAAE,CAAG,EAC5C,OAAO,cAAc,CAAC,EAAM,EAAU,CACpC,WAAY,CAAA,EACZ,IAAK,CACP,EACF,C,E,C,E,E,C,Q,C,Q,oB,C,G,G,C,Q,C,C,C,kB,gB,K,O","sources":["<anon>","packages/artplayer-plugin-hls-control/src/index.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-f074e76d4300b8ac.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-cd7c8aead227e587.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["// modules are defined as an array\n// [ module function, map of requires ]\n//\n// map of requires is short require name -> numeric require\n//\n// anything defined in a previous bundle is accessed via the\n// orig method which is the require for previous bundles\n\n(function (\n modules,\n entry,\n mainEntry,\n parcelRequireName,\Line truncated
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,n,o,l,r,i,u){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},c="function"==typeof a[o]&&a[o],s=c.i||{},f=c.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!f[t]){if(!e[t]){if(l[t])return l[t];var r="function"==typeof a[o]&&a[o];if(!n&&r)return r(t,!0);if(c)return c(t,!0);if(d&&"string"==typeof t)return d(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}s.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},s.cache={};var u=f[t]=new p.Module(t);e[t][0].call(u.exports,s,u,u.exports,a)}return f[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=d,this.exports={}},p.modules=e,p.cache=f,p.parent=c,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=s,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return a[o]}}),a[o]=p;for(var h=0;h<t.length;h++)p(t[h]);if(n){var g=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({jz4E5:[function(e,t,n,o){var l=e("@parcel/transformer-js/src/esmodule-helpers.js");l.defineInteropFlag(n),l.export(n,"default",()=>s);var r=e("bundle-text:./quality.svg"),i=l.interopDefault(r),u=e("bundle-text:./audio.svg"),a=l.interopDefault(u);function c(e,t){let n=new Map;return e.filter(e=>{let o=e[t];return void 0===o||!n.has(o)&&n.set(o,1)})}function s(e={}){return t=>{let{$video:n}=t.template,{errorHandle:o}=t.constructor.utils;function l(){o(t.hls?.media===n,'Cannot find instance of HLS from "art.hls"'),function(n){if(!n.levels.length)return;let o=e.quality||{},l=o.auto||"Auto",r=o.title||"Quality",u=o.getName||(e=>e.name||e.height+"P"),a=n.levels[n.currentLevel],s=a?u(a):l,f=c(n.levels.map((e,t)=>({html:u(e,t),value:t,default:n.currentLevel===t})),"html").sort((e,t)=>t.value-e.value);f.push({html:l,value:-1,default:-1===n.currentLevel});let d=e=>(n.currentLevel=e.value,t.notice.show=`${r}: ${e.html}`,o.control&&t.controls.check(e),o.setting&&t.setting.check(e),e.html);o.control&&t.controls.update({name:"hls-quality",position:"right",html:s,style:{padding:"0 10px"},selector:f,onSelect:d}),o.setting&&t.setting.update({name:"hls-quality",tooltip:s,html:r,icon:i.default,width:200,selector:f,onSelect:d})}(t.hls),function(n){if(!n.audioTracks.length)return;let o=e.audio||{},l=o.auto||"Auto",r=o.title||"Audio",i=o.getName||(e=>e.name||e.lang||e.language),u=n.audioTracks[n.audioTrack],s=u?i(u):l,f=c(n.audioTracks.map((e,t)=>({html:i(e,t),value:e.id,default:n.audioTrack===e.id})),"html"),d=e=>(n.audioTrack=e.value,t.notice.show=`${r}: ${e.html}`,o.control&&t.controls.check(e),o.setting&&t.setting.check(e),e.html);o.control&&t.controls.update({name:"hls-audio",position:"right",html:s,style:{padding:"0 10px"},selector:f,onSelect:d}),o.setting&&t.setting.update({name:"hls-audio",tooltip:s,html:r,icon:a.default,width:200,selector:f,onSelect:d})}(t.hls)}return t.on("ready",l),t.on("restart",l),{name:"artplayerPluginHlsControl",update:l}}}"undefined"!=typeof window&&(window.artplayerPluginHlsControl=s)},{"bundle-text:./quality.svg":"l1ZNL","bundle-text:./audio.svg":"icbOY","@parcel/transformer-js/src/esmodule-helpers.js":"7o2zS"}],l1ZNL:[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zm323.8 106.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6-26.5-33.1c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S78.8 416 88 416h336c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96"/></svg>'},{}],icbOY:[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6 26.5 0 48 21.5 48 48v128c0 26.5-21.5 48-48 48-44.2 0-80-35.8-80-80V288C0 146.6 114.6 32 256 32s256 114.6 256 256v112c0 44.2-35.8 80-80 80-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48 10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80"/></svg>'},{}],"7o2zS":[function(e,t,n,o){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["jz4E5"],"jz4E5","parcelRequire8255",{});
|
||||
!function(e,t,n,o,r,l,i,u){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof a[o]&&a[o],d=s.i||{},c=s.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!c[t]){if(!e[t]){if(r[t])return r[t];var l="function"==typeof a[o]&&a[o];if(!n&&l)return l(t,!0);if(s)return s(t,!0);if(f&&"string"==typeof t)return f(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}d.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},d.cache={};var u=c[t]=new p.Module(t);e[t][0].call(u.exports,d,u,u.exports,a)}return c[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=f,this.exports={}},p.modules=e,p.cache=c,p.parent=s,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=d,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return a[o]}}),a[o]=p;for(var h=0;h<t.length;h++)p(t[h]);if(n){var g=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({dHVos:[function(e,t,n,o){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n),r.export(n,"default",()=>d);var l=e("bundle-text:./audio.svg"),i=r.interopDefault(l),u=e("bundle-text:./quality.svg"),a=r.interopDefault(u);function s(e,t){let n=new Map;return e.filter(e=>{let o=e[t];return void 0===o||!n.has(o)&&n.set(o,1)})}function d(e={}){return t=>{let{$video:n}=t.template,{errorHandle:o}=t.constructor.utils;function r(){o(t.hls?.media===n,'Cannot find instance of HLS from "art.hls"'),function(n){if(!n.levels.length)return;let o=e.quality||{},r=o.auto||"Auto",l=o.title||"Quality",i=o.getName||(e=>e.name||`${e.height}P`),u=n.levels[n.currentLevel],d=u?i(u):r,c=s(n.levels.map((e,t)=>({html:i(e,t),value:t,default:n.currentLevel===t})),"html").sort((e,t)=>t.value-e.value);c.push({html:r,value:-1,default:-1===n.currentLevel});let f=e=>(n.currentLevel=e.value,t.notice.show=`${l}: ${e.html}`,o.control&&t.controls.check(e),o.setting&&t.setting.check(e),e.html);o.control&&t.controls.update({name:"hls-quality",position:"right",html:d,style:{padding:"0 10px"},selector:c,onSelect:f}),o.setting&&t.setting.update({name:"hls-quality",tooltip:d,html:l,icon:a.default,width:200,selector:c,onSelect:f})}(t.hls),function(n){if(!n.audioTracks.length)return;let o=e.audio||{},r=o.auto||"Auto",l=o.title||"Audio",u=o.getName||(e=>e.name||e.lang||e.language),a=n.audioTracks[n.audioTrack],d=a?u(a):r,c=s(n.audioTracks.map((e,t)=>({html:u(e,t),value:e.id,default:n.audioTrack===e.id})),"html"),f=e=>(n.audioTrack=e.value,t.notice.show=`${l}: ${e.html}`,o.control&&t.controls.check(e),o.setting&&t.setting.check(e),e.html);o.control&&t.controls.update({name:"hls-audio",position:"right",html:d,style:{padding:"0 10px"},selector:c,onSelect:f}),o.setting&&t.setting.update({name:"hls-audio",tooltip:d,html:l,icon:i.default,width:200,selector:c,onSelect:f})}(t.hls)}return t.on("ready",r),t.on("restart",r),{name:"artplayerPluginHlsControl",update:r}}}"undefined"!=typeof window&&(window.artplayerPluginHlsControl=d)},{"bundle-text:./audio.svg":"kni09","bundle-text:./quality.svg":"jbawI","@parcel/transformer-js/src/esmodule-helpers.js":"6ykb1"}],kni09:[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6 26.5 0 48 21.5 48 48v128c0 26.5-21.5 48-48 48-44.2 0-80-35.8-80-80V288C0 146.6 114.6 32 256 32s256 114.6 256 256v112c0 44.2-35.8 80-80 80-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48 10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80"/></svg>'},{}],jbawI:[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64Zm323.8 106.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6-26.5-33.1c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S78.8 416 88 416h336c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7ZM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96"/></svg>'},{}],"6ykb1":[function(e,t,n,o){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["dHVos"],"dHVos","parcelRequire4dc0",{});
|
||||
+1
-1
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,n,o,r,i,l,u){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},c="function"==typeof a[o]&&a[o],f=c.i||{},s=c.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!s[t]){if(!e[t]){if(r[t])return r[t];var i="function"==typeof a[o]&&a[o];if(!n&&i)return i(t,!0);if(c)return c(t,!0);if(d&&"string"==typeof t)return d(t);var l=Error("Cannot find module '"+t+"'");throw l.code="MODULE_NOT_FOUND",l}f.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},f.cache={};var u=s[t]=new p.Module(t);e[t][0].call(u.exports,f,u,u.exports,a)}return s[t].exports;function f(e){var t=f.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=d,this.exports={}},p.modules=e,p.cache=s,p.parent=c,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=f,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return a[o]}}),a[o]=p;for(var h=0;h<t.length;h++)p(t[h]);if(n){var v=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=v:"function"==typeof define&&define.amd&&define(function(){return v})}}({bzF6W:[function(e,t,n,o){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n),r.export(n,"default",function(){return f});var i=e("bundle-text:./quality.svg"),l=r.interopDefault(i),u=e("bundle-text:./audio.svg"),a=r.interopDefault(u);function c(e,t){var n=new Map;return e.filter(function(e){var o=e[t];return void 0===o||!n.has(o)&&n.set(o,1)})}function f(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var n=t.template.$video,o=t.constructor.utils.errorHandle;function r(){var r;o((null==(r=t.hls)?void 0:r.media)===n,'Cannot find instance of HLS from "art.hls"'),function(n){if(n.levels.length){var o=e.quality||{},r=o.auto||"Auto",i=o.title||"Quality",u=o.getName||function(e){return e.name||e.height+"P"},a=n.levels[n.currentLevel],f=a?u(a):r,s=c(n.levels.map(function(e,t){return{html:u(e,t),value:t,default:n.currentLevel===t}}),"html").sort(function(e,t){return t.value-e.value});s.push({html:r,value:-1,default:-1===n.currentLevel});var d=function(e){return n.currentLevel=e.value,t.notice.show="".concat(i,": ").concat(e.html),o.control&&t.controls.check(e),o.setting&&t.setting.check(e),e.html};o.control&&t.controls.update({name:"hls-quality",position:"right",html:f,style:{padding:"0 10px"},selector:s,onSelect:d}),o.setting&&t.setting.update({name:"hls-quality",tooltip:f,html:i,icon:l.default,width:200,selector:s,onSelect:d})}}(t.hls),function(n){if(n.audioTracks.length){var o=e.audio||{},r=o.auto||"Auto",i=o.title||"Audio",l=o.getName||function(e){return e.name||e.lang||e.language},u=n.audioTracks[n.audioTrack],f=u?l(u):r,s=c(n.audioTracks.map(function(e,t){return{html:l(e,t),value:e.id,default:n.audioTrack===e.id}}),"html"),d=function(e){return n.audioTrack=e.value,t.notice.show="".concat(i,": ").concat(e.html),o.control&&t.controls.check(e),o.setting&&t.setting.check(e),e.html};o.control&&t.controls.update({name:"hls-audio",position:"right",html:f,style:{padding:"0 10px"},selector:s,onSelect:d}),o.setting&&t.setting.update({name:"hls-audio",tooltip:f,html:i,icon:a.default,width:200,selector:s,onSelect:d})}}(t.hls)}return t.on("ready",r),t.on("restart",r),{name:"artplayerPluginHlsControl",update:r}}}"undefined"!=typeof window&&(window.artplayerPluginHlsControl=f)},{"bundle-text:./quality.svg":"emaAn","bundle-text:./audio.svg":"5cT3J","@parcel/transformer-js/src/esmodule-helpers.js":"ihnSZ"}],emaAn:[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zm323.8 106.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6-26.5-33.1c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S78.8 416 88 416h336c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96"/></svg>'},{}],"5cT3J":[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6 26.5 0 48 21.5 48 48v128c0 26.5-21.5 48-48 48-44.2 0-80-35.8-80-80V288C0 146.6 114.6 32 256 32s256 114.6 256 256v112c0 44.2-35.8 80-80 80-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48 10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80"/></svg>'},{}],ihnSZ:[function(e,t,n,o){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumeraLine truncated
|
||||
!function(e,t,n,o,r,i,l,u){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},c="function"==typeof a[o]&&a[o],f=c.i||{},d=c.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!d[t]){if(!e[t]){if(r[t])return r[t];var i="function"==typeof a[o]&&a[o];if(!n&&i)return i(t,!0);if(c)return c(t,!0);if(s&&"string"==typeof t)return s(t);var l=Error("Cannot find module '"+t+"'");throw l.code="MODULE_NOT_FOUND",l}f.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},f.cache={};var u=d[t]=new p.Module(t);e[t][0].call(u.exports,f,u,u.exports,a)}return d[t].exports;function f(e){var t=f.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=s,this.exports={}},p.modules=e,p.cache=d,p.parent=c,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=f,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return a[o]}}),a[o]=p;for(var h=0;h<t.length;h++)p(t[h]);if(n){var v=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=v:"function"==typeof define&&define.amd&&define(function(){return v})}}({do1Zn:[function(e,t,n,o){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n),r.export(n,"default",function(){return f});var i=e("bundle-text:./audio.svg"),l=r.interopDefault(i),u=e("bundle-text:./quality.svg"),a=r.interopDefault(u);function c(e,t){var n=new Map;return e.filter(function(e){var o=e[t];return void 0===o||!n.has(o)&&n.set(o,1)})}function f(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var n=t.template.$video,o=t.constructor.utils.errorHandle;function r(){var r;o((null==(r=t.hls)?void 0:r.media)===n,'Cannot find instance of HLS from "art.hls"'),function(n){if(n.levels.length){var o=e.quality||{},r=o.auto||"Auto",i=o.title||"Quality",l=o.getName||function(e){return e.name||"".concat(e.height,"P")},u=n.levels[n.currentLevel],f=u?l(u):r,d=c(n.levels.map(function(e,t){return{html:l(e,t),value:t,default:n.currentLevel===t}}),"html").sort(function(e,t){return t.value-e.value});d.push({html:r,value:-1,default:-1===n.currentLevel});var s=function(e){return n.currentLevel=e.value,t.notice.show="".concat(i,": ").concat(e.html),o.control&&t.controls.check(e),o.setting&&t.setting.check(e),e.html};o.control&&t.controls.update({name:"hls-quality",position:"right",html:f,style:{padding:"0 10px"},selector:d,onSelect:s}),o.setting&&t.setting.update({name:"hls-quality",tooltip:f,html:i,icon:a.default,width:200,selector:d,onSelect:s})}}(t.hls),function(n){if(n.audioTracks.length){var o=e.audio||{},r=o.auto||"Auto",i=o.title||"Audio",u=o.getName||function(e){return e.name||e.lang||e.language},a=n.audioTracks[n.audioTrack],f=a?u(a):r,d=c(n.audioTracks.map(function(e,t){return{html:u(e,t),value:e.id,default:n.audioTrack===e.id}}),"html"),s=function(e){return n.audioTrack=e.value,t.notice.show="".concat(i,": ").concat(e.html),o.control&&t.controls.check(e),o.setting&&t.setting.check(e),e.html};o.control&&t.controls.update({name:"hls-audio",position:"right",html:f,style:{padding:"0 10px"},selector:d,onSelect:s}),o.setting&&t.setting.update({name:"hls-audio",tooltip:f,html:i,icon:l.default,width:200,selector:d,onSelect:s})}}(t.hls)}return t.on("ready",r),t.on("restart",r),{name:"artplayerPluginHlsControl",update:r}}}"undefined"!=typeof window&&(window.artplayerPluginHlsControl=f)},{"bundle-text:./audio.svg":"aaZcq","bundle-text:./quality.svg":"djiLC","@parcel/transformer-js/src/esmodule-helpers.js":"qpMMf"}],aaZcq:[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6 26.5 0 48 21.5 48 48v128c0 26.5-21.5 48-48 48-44.2 0-80-35.8-80-80V288C0 146.6 114.6 32 256 32s256 114.6 256 256v112c0 44.2-35.8 80-80 80-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48 10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80"/></svg>'},{}],djiLC:[function(e,t,n,o){t.exports='<svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 512 512"><path fill="#fff" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64Zm323.8 106.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6-26.5-33.1c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S78.8 416 88 416h336c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7ZM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96"/></svg>'},{}],qpMMf:[function(e,t,n,o){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,nLine truncated
|
||||
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"license": "MIT",
|
||||
"version": "1.0.1",
|
||||
"name": "artplayer-plugin-hls-control",
|
||||
"description": "Hls control plugin for ArtPlayer",
|
||||
"main": "dist/artplayer-plugin-hls-control.js",
|
||||
"legacy": "dist/artplayer-plugin-hls-control.legacy.js",
|
||||
"module": "dist/artplayer-plugin-hls-control.esm.js",
|
||||
"types": "types/artplayer-plugin-hls-control.d.ts",
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-hls-control.esm.js",
|
||||
"require": "./dist/artplayer-plugin-hls-control.js",
|
||||
"default": "./dist/artplayer-plugin-hls-control.js"
|
||||
},
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
]
|
||||
"name": "artplayer-plugin-hls-control",
|
||||
"version": "1.0.1",
|
||||
"description": "Hls control plugin for ArtPlayer",
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"license": "MIT",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-hls-control.esm.js",
|
||||
"require": "./dist/artplayer-plugin-hls-control.js",
|
||||
"default": "./dist/artplayer-plugin-hls-control.js"
|
||||
},
|
||||
"main": "dist/artplayer-plugin-hls-control.js",
|
||||
"legacy": "dist/artplayer-plugin-hls-control.legacy.js",
|
||||
"module": "dist/artplayer-plugin-hls-control.esm.js",
|
||||
"types": "types/artplayer-plugin-hls-control.d.ts",
|
||||
"browserslist": "last 1 Chrome version"
|
||||
}
|
||||
@@ -1,150 +1,156 @@
|
||||
import $quality from 'bundle-text:./quality.svg';
|
||||
import $audio from 'bundle-text:./audio.svg';
|
||||
import $audio from 'bundle-text:./audio.svg'
|
||||
import $quality from 'bundle-text:./quality.svg'
|
||||
|
||||
function uniqBy(array, property) {
|
||||
const seen = new Map();
|
||||
return array.filter((item) => {
|
||||
const key = item[property];
|
||||
if (key === undefined) {
|
||||
return true;
|
||||
}
|
||||
return !seen.has(key) && seen.set(key, 1);
|
||||
});
|
||||
const seen = new Map()
|
||||
return array.filter((item) => {
|
||||
const key = item[property]
|
||||
if (key === undefined) {
|
||||
return true
|
||||
}
|
||||
return !seen.has(key) && seen.set(key, 1)
|
||||
})
|
||||
}
|
||||
|
||||
export default function artplayerPluginHlsControl(option = {}) {
|
||||
return (art) => {
|
||||
const { $video } = art.template;
|
||||
const { errorHandle } = art.constructor.utils;
|
||||
return (art) => {
|
||||
const { $video } = art.template
|
||||
const { errorHandle } = art.constructor.utils
|
||||
|
||||
function updateQuality(hls) {
|
||||
if (!hls.levels.length) return;
|
||||
function updateQuality(hls) {
|
||||
if (!hls.levels.length)
|
||||
return
|
||||
|
||||
const config = option.quality || {};
|
||||
const auto = config.auto || 'Auto';
|
||||
const title = config.title || 'Quality';
|
||||
const getName = config.getName || ((level) => level.name || level.height + 'P');
|
||||
const defaultLevel = hls.levels[hls.currentLevel];
|
||||
const defaultHtml = defaultLevel ? getName(defaultLevel) : auto;
|
||||
const config = option.quality || {}
|
||||
const auto = config.auto || 'Auto'
|
||||
const title = config.title || 'Quality'
|
||||
const getName = config.getName || (level => level.name || `${level.height}P`)
|
||||
const defaultLevel = hls.levels[hls.currentLevel]
|
||||
const defaultHtml = defaultLevel ? getName(defaultLevel) : auto
|
||||
|
||||
const selector = uniqBy(
|
||||
hls.levels.map((item, index) => {
|
||||
return {
|
||||
html: getName(item, index),
|
||||
value: index,
|
||||
default: hls.currentLevel === index,
|
||||
};
|
||||
}),
|
||||
'html',
|
||||
).sort((a, b) => b.value - a.value);
|
||||
const selector = uniqBy(
|
||||
hls.levels.map((item, index) => {
|
||||
return {
|
||||
html: getName(item, index),
|
||||
value: index,
|
||||
default: hls.currentLevel === index,
|
||||
}
|
||||
}),
|
||||
'html',
|
||||
).sort((a, b) => b.value - a.value)
|
||||
|
||||
selector.push({
|
||||
html: auto,
|
||||
value: -1,
|
||||
default: hls.currentLevel === -1,
|
||||
});
|
||||
selector.push({
|
||||
html: auto,
|
||||
value: -1,
|
||||
default: hls.currentLevel === -1,
|
||||
})
|
||||
|
||||
const onSelect = (item) => {
|
||||
hls.currentLevel = item.value;
|
||||
art.notice.show = `${title}: ${item.html}`;
|
||||
if (config.control) art.controls.check(item);
|
||||
if (config.setting) art.setting.check(item);
|
||||
return item.html;
|
||||
};
|
||||
const onSelect = (item) => {
|
||||
hls.currentLevel = item.value
|
||||
art.notice.show = `${title}: ${item.html}`
|
||||
if (config.control)
|
||||
art.controls.check(item)
|
||||
if (config.setting)
|
||||
art.setting.check(item)
|
||||
return item.html
|
||||
}
|
||||
|
||||
if (config.control) {
|
||||
art.controls.update({
|
||||
name: 'hls-quality',
|
||||
position: 'right',
|
||||
html: defaultHtml,
|
||||
style: { padding: '0 10px' },
|
||||
selector: selector,
|
||||
onSelect: onSelect,
|
||||
});
|
||||
}
|
||||
if (config.control) {
|
||||
art.controls.update({
|
||||
name: 'hls-quality',
|
||||
position: 'right',
|
||||
html: defaultHtml,
|
||||
style: { padding: '0 10px' },
|
||||
selector,
|
||||
onSelect,
|
||||
})
|
||||
}
|
||||
|
||||
if (config.setting) {
|
||||
art.setting.update({
|
||||
name: 'hls-quality',
|
||||
tooltip: defaultHtml,
|
||||
html: title,
|
||||
icon: $quality,
|
||||
width: 200,
|
||||
selector: selector,
|
||||
onSelect: onSelect,
|
||||
});
|
||||
}
|
||||
}
|
||||
if (config.setting) {
|
||||
art.setting.update({
|
||||
name: 'hls-quality',
|
||||
tooltip: defaultHtml,
|
||||
html: title,
|
||||
icon: $quality,
|
||||
width: 200,
|
||||
selector,
|
||||
onSelect,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function updateAudio(hls) {
|
||||
if (!hls.audioTracks.length) return;
|
||||
function updateAudio(hls) {
|
||||
if (!hls.audioTracks.length)
|
||||
return
|
||||
|
||||
const config = option.audio || {};
|
||||
const auto = config.auto || 'Auto';
|
||||
const title = config.title || 'Audio';
|
||||
const getName = config.getName || ((track) => track.name || track.lang || track.language);
|
||||
const defaultTrack = hls.audioTracks[hls.audioTrack];
|
||||
const defaultHtml = defaultTrack ? getName(defaultTrack) : auto;
|
||||
const config = option.audio || {}
|
||||
const auto = config.auto || 'Auto'
|
||||
const title = config.title || 'Audio'
|
||||
const getName = config.getName || (track => track.name || track.lang || track.language)
|
||||
const defaultTrack = hls.audioTracks[hls.audioTrack]
|
||||
const defaultHtml = defaultTrack ? getName(defaultTrack) : auto
|
||||
|
||||
const selector = uniqBy(
|
||||
hls.audioTracks.map((item, index) => {
|
||||
return {
|
||||
html: getName(item, index),
|
||||
value: item.id,
|
||||
default: hls.audioTrack === item.id,
|
||||
};
|
||||
}),
|
||||
'html',
|
||||
);
|
||||
const selector = uniqBy(
|
||||
hls.audioTracks.map((item, index) => {
|
||||
return {
|
||||
html: getName(item, index),
|
||||
value: item.id,
|
||||
default: hls.audioTrack === item.id,
|
||||
}
|
||||
}),
|
||||
'html',
|
||||
)
|
||||
|
||||
const onSelect = (item) => {
|
||||
hls.audioTrack = item.value;
|
||||
art.notice.show = `${title}: ${item.html}`;
|
||||
if (config.control) art.controls.check(item);
|
||||
if (config.setting) art.setting.check(item);
|
||||
return item.html;
|
||||
};
|
||||
const onSelect = (item) => {
|
||||
hls.audioTrack = item.value
|
||||
art.notice.show = `${title}: ${item.html}`
|
||||
if (config.control)
|
||||
art.controls.check(item)
|
||||
if (config.setting)
|
||||
art.setting.check(item)
|
||||
return item.html
|
||||
}
|
||||
|
||||
if (config.control) {
|
||||
art.controls.update({
|
||||
name: 'hls-audio',
|
||||
position: 'right',
|
||||
html: defaultHtml,
|
||||
style: { padding: '0 10px' },
|
||||
selector: selector,
|
||||
onSelect: onSelect,
|
||||
});
|
||||
}
|
||||
if (config.control) {
|
||||
art.controls.update({
|
||||
name: 'hls-audio',
|
||||
position: 'right',
|
||||
html: defaultHtml,
|
||||
style: { padding: '0 10px' },
|
||||
selector,
|
||||
onSelect,
|
||||
})
|
||||
}
|
||||
|
||||
if (config.setting) {
|
||||
art.setting.update({
|
||||
name: 'hls-audio',
|
||||
tooltip: defaultHtml,
|
||||
html: title,
|
||||
icon: $audio,
|
||||
width: 200,
|
||||
selector: selector,
|
||||
onSelect: onSelect,
|
||||
});
|
||||
}
|
||||
}
|
||||
if (config.setting) {
|
||||
art.setting.update({
|
||||
name: 'hls-audio',
|
||||
tooltip: defaultHtml,
|
||||
html: title,
|
||||
icon: $audio,
|
||||
width: 200,
|
||||
selector,
|
||||
onSelect,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function update() {
|
||||
errorHandle(art.hls?.media === $video, 'Cannot find instance of HLS from "art.hls"');
|
||||
updateQuality(art.hls);
|
||||
updateAudio(art.hls);
|
||||
}
|
||||
function update() {
|
||||
errorHandle(art.hls?.media === $video, 'Cannot find instance of HLS from "art.hls"')
|
||||
updateQuality(art.hls)
|
||||
updateAudio(art.hls)
|
||||
}
|
||||
|
||||
art.on('ready', update);
|
||||
art.on('restart', update);
|
||||
art.on('ready', update)
|
||||
art.on('restart', update)
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginHlsControl',
|
||||
update,
|
||||
};
|
||||
};
|
||||
return {
|
||||
name: 'artplayerPluginHlsControl',
|
||||
update,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window['artplayerPluginHlsControl'] = artplayerPluginHlsControl;
|
||||
window.artplayerPluginHlsControl = artplayerPluginHlsControl
|
||||
}
|
||||
+13
-13
@@ -1,17 +1,17 @@
|
||||
import type Artplayer from 'artplayer';
|
||||
import type Artplayer from 'artplayer'
|
||||
|
||||
export = artplayerPluginHlsControl;
|
||||
export = artplayerPluginHlsControl
|
||||
export as namespace artplayerPluginHlsControl;
|
||||
|
||||
type Config = {
|
||||
control?: boolean;
|
||||
setting?: boolean;
|
||||
title?: string;
|
||||
auto?: string;
|
||||
getName?(level: object): String;
|
||||
};
|
||||
interface Config {
|
||||
control?: boolean
|
||||
setting?: boolean
|
||||
title?: string
|
||||
auto?: string
|
||||
getName?: (level: object) => string
|
||||
}
|
||||
|
||||
declare const artplayerPluginHlsControl: (option: { quality?: Config; audio?: Config }) => (art: Artplayer) => {
|
||||
name: 'artplayerPluginHlsControl';
|
||||
update: () => void;
|
||||
};
|
||||
declare const artplayerPluginHlsControl: (option: { quality?: Config, audio?: Config }) => (art: Artplayer) => {
|
||||
name: 'artplayerPluginHlsControl'
|
||||
update: () => void
|
||||
}
|
||||
@@ -5,5 +5,5 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,o,n,s,i,a){var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof f[o]&&f[o],l=d.i||{},u=d.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,r){if(!u[t]){if(!e[t]){if(n[t])return n[t];var s="function"==typeof f[o]&&f[o];if(!r&&s)return s(t,!0);if(d)return d(t,!0);if(c&&"string"==typeof t)return c(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}l.resolve=function(r){var o=e[t][1][r];return null!=o?o:r},l.cache={};var a=u[t]=new p.Module(t);e[t][0].call(a.exports,l,a,a.exports,f)}return u[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=c,this.exports={}},p.modules=e,p.cache=u,p.parent=d,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=l,p.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(p,"root",{get:function(){return f[o]}}),f[o]=p;for(var m=0;m<t.length;m++)p(t[m]);if(r){var h=p(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({"4omrA":[function(e,t,r,o){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);class n{static get iframe(){return window.top!==window}static postMessage({type:e,data:t,id:r=0}){if(!n.iframe)throw Error('The "ArtplayerPluginIframe.postMessage" method can only be used in iframe');window.parent.postMessage({type:e,data:t,id:r},"*")}static async onMessage(e){if(!n.iframe)throw Error('The "ArtplayerPluginIframe.onMessage" method can only be used in iframe');let{type:t,data:r,id:o}=e.data;if("commit"===t)try{if(r.match(/\bresolve\((.*?)\)/)){let e=`return new Promise(function(resolve){ ${r} })`,t=await Function(e)();n.postMessage({type:"response",data:t,id:o})}else{let e=Function(r)();n.postMessage({type:"response",data:e,id:o})}}catch(e){throw n.postMessage({type:"error",data:e.message,id:o}),e}}static inject(){if(!n.iframe)throw Error('The "ArtplayerPluginIframe.inject" method can only be used in iframe');n.postMessage({type:"inject"}),window.addEventListener("message",n.onMessage)}constructor({iframe:e,url:t}){if(e instanceof HTMLIFrameElement==!1)throw Error('"option.iframe" needs to be a HTMLIFrameElement');if("string"!=typeof t)throw Error('"option.url" needs to be a string');this.url=t,this.$iframe=e,this.promises={},this.injected=!1,this.destroyed=!1,this.messageCallback=()=>null,this.onMessage=this.onMessage.bind(this),window.addEventListener("message",this.onMessage),this.$iframe.src=this.url}onMessage(e){let{type:t,data:r,id:o}=e.data;"inject"===t&&(this.injected=!0),this.promises[o]&&("error"===t?this.promises[o].reject(Error(r)):this.promises[o].resove(r),delete this.promises[o]),this.messageCallback&&this.messageCallback({type:t,data:r})}postMessage({type:e,data:t}){return new Promise((r,o)=>{(function n(){if(this.destroyed)o(Error("The instance has been destroyed"));else if(this.injected){let n=Date.now();this.promises[n]={resove:r,reject:o},this.$iframe.contentWindow.postMessage({type:e,data:t,id:n},"*")}else setTimeout(n.bind(this),200)}).call(this)})}commit(e){if("function"!=typeof e)throw Error('"commit.callback" needs to be a function');let t=e.toString(),r=t.substring(t.indexOf("{")+1,t.lastIndexOf("}"));return this.postMessage({type:"commit",data:r})}message(e){if("function"!=typeof e)throw Error('"message.callback" needs to be a function');this.messageCallback=e}destroy(){this.destroyed=!0,window.removeEventListener("message",this.onMessage)}}r.default=n,"undefined"!=typeof window&&(window.ArtplayerPluginIframe=n)},{"@parcel/transformer-js/src/esmodule-helpers.js":"w4pLy"}],w4pLy:[function(e,t,r,o){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}]},["4omrA"],"4omrA","parcelRequire92f7",{});let{default:e}=parcelRequire92f7("4omrA");export{e as default};
|
||||
!function(e,t,r,o,s,n,i,a){var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},l="function"==typeof f[o]&&f[o],d=l.i||{},u=l.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,r){if(!u[t]){if(!e[t]){if(s[t])return s[t];var n="function"==typeof f[o]&&f[o];if(!r&&n)return n(t,!0);if(l)return l(t,!0);if(c&&"string"==typeof t)return c(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}d.resolve=function(r){var o=e[t][1][r];return null!=o?o:r},d.cache={};var a=u[t]=new p.Module(t);e[t][0].call(a.exports,d,a,a.exports,f)}return u[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=c,this.exports={}},p.modules=e,p.cache=u,p.parent=l,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=d,p.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(p,"root",{get:function(){return f[o]}}),f[o]=p;for(var m=0;m<t.length;m++)p(t[m]);if(r){var h=p(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({cTaWs:[function(e,t,r,o){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);class s{static get iframe(){return window.top!==window}static postMessage({type:e,data:t,id:r=0}){if(!s.iframe)throw Error('The "ArtplayerPluginIframe.postMessage" method can only be used in iframe');window.parent.postMessage({type:e,data:t,id:r},"*")}static async onMessage(e){if(!s.iframe)throw Error('The "ArtplayerPluginIframe.onMessage" method can only be used in iframe');let{type:t,data:r,id:o}=e.data;if("commit"===t)try{if(r.match(/\bresolve\((.*?)\)/)){let e=`return new Promise(function(resolve){ ${r} })`,t=await Function(e)();s.postMessage({type:"response",data:t,id:o})}else{let e=Function(r)();s.postMessage({type:"response",data:e,id:o})}}catch(e){throw s.postMessage({type:"error",data:e.message,id:o}),e}}static inject(){if(!s.iframe)throw Error('The "ArtplayerPluginIframe.inject" method can only be used in iframe');s.postMessage({type:"inject"}),window.addEventListener("message",s.onMessage)}constructor({iframe:e,url:t}){if(e instanceof HTMLIFrameElement==!1)throw TypeError('"option.iframe" needs to be a HTMLIFrameElement');if("string"!=typeof t)throw TypeError('"option.url" needs to be a string');this.url=t,this.$iframe=e,this.promises={},this.injected=!1,this.destroyed=!1,this.messageCallback=()=>null,this.onMessage=this.onMessage.bind(this),window.addEventListener("message",this.onMessage),this.$iframe.src=this.url}onMessage(e){let{type:t,data:r,id:o}=e.data;"inject"===t&&(this.injected=!0),this.promises[o]&&("error"===t?this.promises[o].reject(Error(r)):this.promises[o].resove(r),delete this.promises[o]),this.messageCallback&&this.messageCallback({type:t,data:r})}postMessage({type:e,data:t}){return new Promise((r,o)=>{(function s(){if(this.destroyed)o(Error("The instance has been destroyed"));else if(this.injected){let s=Date.now();this.promises[s]={resove:r,reject:o},this.$iframe.contentWindow.postMessage({type:e,data:t,id:s},"*")}else setTimeout(s.bind(this),200)}).call(this)})}commit(e){if("function"!=typeof e)throw TypeError('"commit.callback" needs to be a function');let t=e.toString(),r=t.substring(t.indexOf("{")+1,t.lastIndexOf("}"));return this.postMessage({type:"commit",data:r})}message(e){if("function"!=typeof e)throw TypeError('"message.callback" needs to be a function');this.messageCallback=e}destroy(){this.destroyed=!0,window.removeEventListener("message",this.onMessage)}}r.default=s,"undefined"!=typeof window&&(window.ArtplayerPluginIframe=s)},{"@parcel/transformer-js/src/esmodule-helpers.js":"5lQoW"}],"5lQoW":[function(e,t,r,o){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}]},["cTaWs"],"cTaWs","parcelRequire4dc0",{});let{default:e}=parcelRequire4dc0("cTaWs");export{e as default};
|
||||
//# sourceMappingURL=artplayer-plugin-iframe.esm.js.map
|
||||
@@ -1 +1 @@
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,A,E,kD,iB,C,ECAe,OAAM,EACjB,WAAW,QAAS,CAChB,OAAO,OAAO,GAAG,GAAK,MAC1B,CAEA,OAAO,YAAY,CAAE,KAAA,CAAI,CAAE,KAAA,CAAI,CAAE,GAAA,EAAK,CAAC,CAAE,CAAE,CACvC,GAAI,CAAC,EAAsB,MAAM,CAC7B,MAAM,AAAI,MAAM,6EAGpB,OAAO,MAAM,CAAC,WAAW,CACrB,CACI,KAAM,EACN,KAAM,EACN,GAAI,CACR,EACA,IAER,CAEA,aAAa,UAAU,CAAK,CAAE,CAC1B,GAAI,CAAC,EAAsB,MAAM,CAC7B,MAAM,AAAI,MAAM,2EAGpB,GAA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","sources":["<anon>","src/index.js","../../node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["// modules are defined as an array\n// [ module function, map of requires ]\n//\n// map of requires is short require name -> numeric require\n//\n// anything defined in a previous bundle is accessed via the\n// orig method which is the require for previous bundles\n\n(function (\n modules,\n entry,\n mainEntry,\n parcelRequireName,\n externals,\n distDir,\n publicUrl,\n devServer\n) {\n /* eslint-disable no-undef */\n var globalObject =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n Line truncated
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,M,C,S,C,C,C,C,C,C,C,E,A,E,kD,iB,C,ECAe,OAAM,EACnB,WAAW,QAAS,CAClB,OAAO,OAAO,GAAG,GAAK,MACxB,CAEA,OAAO,YAAY,CAAE,KAAA,CAAI,CAAE,KAAA,CAAI,CAAE,GAAA,EAAK,CAAC,CAAE,CAAE,CACzC,GAAI,CAAC,EAAsB,MAAM,CAC/B,MAAM,AAAI,MAAM,6EAGlB,OAAO,MAAM,CAAC,WAAW,CACvB,CACE,KAAA,EACA,KAAA,EACA,GAAA,CACF,EACA,IAEJ,CAEA,aAAa,UAAU,CAAK,CAAE,CAC5B,GAAI,CAAC,EAAsB,MAAM,CAC/B,MAAM,AAAI,MAAM,2EAGlB,GAA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","sources":["<anon>","packages/artplayer-plugin-iframe/src/index.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["// modules are defined as an array\n// [ module function, map of requires ]\n//\n// map of requires is short require name -> numeric require\n//\n// anything defined in a previous bundle is accessed via the\n// orig method which is the require for previous bundles\n\n(function (\n modules,\n entry,\n mainEntry,\n parcelRequireName,\n externals,\n distDir,\n publicUrl,\n devServer\n) {\n /* eslint-disable no-undef */\n var globalObject =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undLine truncated
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,o,n,s,i,a){var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof f[o]&&f[o],l=d.i||{},u=d.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,r){if(!u[t]){if(!e[t]){if(n[t])return n[t];var s="function"==typeof f[o]&&f[o];if(!r&&s)return s(t,!0);if(d)return d(t,!0);if(c&&"string"==typeof t)return c(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}l.resolve=function(r){var o=e[t][1][r];return null!=o?o:r},l.cache={};var a=u[t]=new p.Module(t);e[t][0].call(a.exports,l,a,a.exports,f)}return u[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=c,this.exports={}},p.modules=e,p.cache=u,p.parent=d,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=l,p.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(p,"root",{get:function(){return f[o]}}),f[o]=p;for(var m=0;m<t.length;m++)p(t[m]);if(r){var h=p(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({jz4E5:[function(e,t,r,o){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);class n{static get iframe(){return window.top!==window}static postMessage({type:e,data:t,id:r=0}){if(!n.iframe)throw Error('The "ArtplayerPluginIframe.postMessage" method can only be used in iframe');window.parent.postMessage({type:e,data:t,id:r},"*")}static async onMessage(e){if(!n.iframe)throw Error('The "ArtplayerPluginIframe.onMessage" method can only be used in iframe');let{type:t,data:r,id:o}=e.data;if("commit"===t)try{if(r.match(/\bresolve\((.*?)\)/)){let e=`return new Promise(function(resolve){ ${r} })`,t=await Function(e)();n.postMessage({type:"response",data:t,id:o})}else{let e=Function(r)();n.postMessage({type:"response",data:e,id:o})}}catch(e){throw n.postMessage({type:"error",data:e.message,id:o}),e}}static inject(){if(!n.iframe)throw Error('The "ArtplayerPluginIframe.inject" method can only be used in iframe');n.postMessage({type:"inject"}),window.addEventListener("message",n.onMessage)}constructor({iframe:e,url:t}){if(e instanceof HTMLIFrameElement==!1)throw Error('"option.iframe" needs to be a HTMLIFrameElement');if("string"!=typeof t)throw Error('"option.url" needs to be a string');this.url=t,this.$iframe=e,this.promises={},this.injected=!1,this.destroyed=!1,this.messageCallback=()=>null,this.onMessage=this.onMessage.bind(this),window.addEventListener("message",this.onMessage),this.$iframe.src=this.url}onMessage(e){let{type:t,data:r,id:o}=e.data;"inject"===t&&(this.injected=!0),this.promises[o]&&("error"===t?this.promises[o].reject(Error(r)):this.promises[o].resove(r),delete this.promises[o]),this.messageCallback&&this.messageCallback({type:t,data:r})}postMessage({type:e,data:t}){return new Promise((r,o)=>{(function n(){if(this.destroyed)o(Error("The instance has been destroyed"));else if(this.injected){let n=Date.now();this.promises[n]={resove:r,reject:o},this.$iframe.contentWindow.postMessage({type:e,data:t,id:n},"*")}else setTimeout(n.bind(this),200)}).call(this)})}commit(e){if("function"!=typeof e)throw Error('"commit.callback" needs to be a function');let t=e.toString(),r=t.substring(t.indexOf("{")+1,t.lastIndexOf("}"));return this.postMessage({type:"commit",data:r})}message(e){if("function"!=typeof e)throw Error('"message.callback" needs to be a function');this.messageCallback=e}destroy(){this.destroyed=!0,window.removeEventListener("message",this.onMessage)}}r.default=n,"undefined"!=typeof window&&(window.ArtplayerPluginIframe=n)},{"@parcel/transformer-js/src/esmodule-helpers.js":"7o2zS"}],"7o2zS":[function(e,t,r,o){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}]},["jz4E5"],"jz4E5","parcelRequire92f7",{});
|
||||
!function(e,t,r,o,n,s,i,a){var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof f[o]&&f[o],l=d.i||{},u=d.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,r){if(!u[t]){if(!e[t]){if(n[t])return n[t];var s="function"==typeof f[o]&&f[o];if(!r&&s)return s(t,!0);if(d)return d(t,!0);if(c&&"string"==typeof t)return c(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}l.resolve=function(r){var o=e[t][1][r];return null!=o?o:r},l.cache={};var a=u[t]=new p.Module(t);e[t][0].call(a.exports,l,a,a.exports,f)}return u[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=c,this.exports={}},p.modules=e,p.cache=u,p.parent=d,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=l,p.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(p,"root",{get:function(){return f[o]}}),f[o]=p;for(var m=0;m<t.length;m++)p(t[m]);if(r){var h=p(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({jSFRI:[function(e,t,r,o){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);class n{static get iframe(){return window.top!==window}static postMessage({type:e,data:t,id:r=0}){if(!n.iframe)throw Error('The "ArtplayerPluginIframe.postMessage" method can only be used in iframe');window.parent.postMessage({type:e,data:t,id:r},"*")}static async onMessage(e){if(!n.iframe)throw Error('The "ArtplayerPluginIframe.onMessage" method can only be used in iframe');let{type:t,data:r,id:o}=e.data;if("commit"===t)try{if(r.match(/\bresolve\((.*?)\)/)){let e=`return new Promise(function(resolve){ ${r} })`,t=await Function(e)();n.postMessage({type:"response",data:t,id:o})}else{let e=Function(r)();n.postMessage({type:"response",data:e,id:o})}}catch(e){throw n.postMessage({type:"error",data:e.message,id:o}),e}}static inject(){if(!n.iframe)throw Error('The "ArtplayerPluginIframe.inject" method can only be used in iframe');n.postMessage({type:"inject"}),window.addEventListener("message",n.onMessage)}constructor({iframe:e,url:t}){if(e instanceof HTMLIFrameElement==!1)throw TypeError('"option.iframe" needs to be a HTMLIFrameElement');if("string"!=typeof t)throw TypeError('"option.url" needs to be a string');this.url=t,this.$iframe=e,this.promises={},this.injected=!1,this.destroyed=!1,this.messageCallback=()=>null,this.onMessage=this.onMessage.bind(this),window.addEventListener("message",this.onMessage),this.$iframe.src=this.url}onMessage(e){let{type:t,data:r,id:o}=e.data;"inject"===t&&(this.injected=!0),this.promises[o]&&("error"===t?this.promises[o].reject(Error(r)):this.promises[o].resove(r),delete this.promises[o]),this.messageCallback&&this.messageCallback({type:t,data:r})}postMessage({type:e,data:t}){return new Promise((r,o)=>{(function n(){if(this.destroyed)o(Error("The instance has been destroyed"));else if(this.injected){let n=Date.now();this.promises[n]={resove:r,reject:o},this.$iframe.contentWindow.postMessage({type:e,data:t,id:n},"*")}else setTimeout(n.bind(this),200)}).call(this)})}commit(e){if("function"!=typeof e)throw TypeError('"commit.callback" needs to be a function');let t=e.toString(),r=t.substring(t.indexOf("{")+1,t.lastIndexOf("}"));return this.postMessage({type:"commit",data:r})}message(e){if("function"!=typeof e)throw TypeError('"message.callback" needs to be a function');this.messageCallback=e}destroy(){this.destroyed=!0,window.removeEventListener("message",this.onMessage)}}r.default=n,"undefined"!=typeof window&&(window.ArtplayerPluginIframe=n)},{"@parcel/transformer-js/src/esmodule-helpers.js":"6ykb1"}],"6ykb1":[function(e,t,r,o){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}]},["jSFRI"],"jSFRI","parcelRequire4dc0",{});
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,n,o,i,a,s){var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof c[n]&&c[n],f=u.i||{},l=u.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,r){if(!l[t]){if(!e[t]){if(o[t])return o[t];var i="function"==typeof c[n]&&c[n];if(!r&&i)return i(t,!0);if(u)return u(t,!0);if(p&&"string"==typeof t)return p(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}f.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},f.cache={};var s=l[t]=new d.Module(t);e[t][0].call(s.exports,f,s,s.exports,c)}return l[t].exports;function f(e){var t=f.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.require=p,this.exports={}},d.modules=e,d.cache=l,d.parent=u,d.distDir=void 0,d.publicUrl=void 0,d.devServer=void 0,d.i=f,d.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(d,"root",{get:function(){return c[n]}}),c[n]=d;for(var y=0;y<t.length;y++)d(t[y]);if(r){var h=d(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({bzF6W:[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",function(){return u});var i=e("@swc/helpers/cjs/_async_to_generator.cjs"),a=e("@swc/helpers/cjs/_class_call_check.cjs"),s=e("@swc/helpers/cjs/_create_class.cjs"),c=e("@swc/helpers/cjs/_ts_generator.cjs"),u=function(){"use strict";function e(t){var r=t.iframe,n=t.url;if((0,a._)(this,e),r instanceof HTMLIFrameElement==!1)throw Error('"option.iframe" needs to be a HTMLIFrameElement');if("string"!=typeof n)throw Error('"option.url" needs to be a string');this.url=n,this.$iframe=r,this.promises={},this.injected=!1,this.destroyed=!1,this.messageCallback=function(){return null},this.onMessage=this.onMessage.bind(this),window.addEventListener("message",this.onMessage),this.$iframe.src=this.url}return(0,s._)(e,[{key:"onMessage",value:function(e){var t=e.data,r=t.type,n=t.data,o=t.id;"inject"===r&&(this.injected=!0),this.promises[o]&&("error"===r?this.promises[o].reject(Error(n)):this.promises[o].resove(n),delete this.promises[o]),this.messageCallback&&this.messageCallback({type:r,data:n})}},{key:"postMessage",value:function(e){var t=this,r=e.type,n=e.data;return new Promise(function(e,o){(function t(){if(this.destroyed)o(Error("The instance has been destroyed"));else if(this.injected){var i=Date.now();this.promises[i]={resove:e,reject:o},this.$iframe.contentWindow.postMessage({type:r,data:n,id:i},"*")}else setTimeout(t.bind(this),200)}).call(t)})}},{key:"commit",value:function(e){if("function"!=typeof e)throw Error('"commit.callback" needs to be a function');var t=e.toString(),r=t.substring(t.indexOf("{")+1,t.lastIndexOf("}"));return this.postMessage({type:"commit",data:r})}},{key:"message",value:function(e){if("function"!=typeof e)throw Error('"message.callback" needs to be a function');this.messageCallback=e}},{key:"destroy",value:function(){this.destroyed=!0,window.removeEventListener("message",this.onMessage)}}],[{key:"iframe",get:function(){return window.top!==window}},{key:"postMessage",value:function(t){var r=t.type,n=t.data,o=t.id;if(!e.iframe)throw Error('The "ArtplayerPluginIframe.postMessage" method can only be used in iframe');window.parent.postMessage({type:r,data:n,id:void 0===o?0:o},"*")}},{key:"onMessage",value:function(t){return(0,i._)(function(){var r,n,o,i,a,s,u;return(0,c._)(this,function(c){switch(c.label){case 0:if(!e.iframe)throw Error('The "ArtplayerPluginIframe.onMessage" method can only be used in iframe');if(n=(r=t.data).type,o=r.data,i=r.id,"commit"===n)return[3,1];return[3,7];case 1:if(c.trys.push([1,5,,6]),!o.match(/\bresolve\((.*?)\)/))return[3,3];return[4,Function("return new Promise(function(resolve){\n".concat(o,"\n})"))()];case 2:return a=c.sent(),e.postMessage({type:"response",data:a,id:i}),[3,4];case 3:s=Function(o)(),e.postMessage({type:"response",data:s,id:i}),c.label=4;case 4:return[3,6];case 5:throw u=c.sent(),e.postMessage({type:"error",data:u.message,id:i}),u;case 6:case 7:return[3,8];case 8:return[2]}})})()}},{key:"inject",value:function(){if(!e.iframe)throw Error('The "ArtplayerPluginIframe.inject" method can only be used in iframe');e.postMessage({type:"inject"}),window.addEventListener("message",e.onMessage)}}]),e}();"undefined"!=typeof window&&(window.ArtplayerPluginIframe=u)},{"@swc/helpers/cjs/_async_to_generator.cjs":"4ElRo","@swc/helpers/cjs/_class_call_check.cjs":"5Lt2s","@swc/helpers/cjs/_create_class.cjs":"fExy2","@swc/helpers/cjs/_ts_generator.cjs":"a4h1C","@parcel/transformer-js/src/esmodule-helpers.js":"ihnSZ"}],"4ElRo":[function(e,t,r,n){"use strict";function o(e,t,r,n,o,i,a){try{var s=e[i](a),c=s.value}catch(e){r(e);return}s.done?t(c):Promise.resolve(c).Line truncated
|
||||
!function(e,t,r,n,o,i,a,s){var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof c[n]&&c[n],f=u.i||{},l=u.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,r){if(!l[t]){if(!e[t]){if(o[t])return o[t];var i="function"==typeof c[n]&&c[n];if(!r&&i)return i(t,!0);if(u)return u(t,!0);if(p&&"string"==typeof t)return p(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}f.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},f.cache={};var s=l[t]=new d.Module(t);e[t][0].call(s.exports,f,s,s.exports,c)}return l[t].exports;function f(e){var t=f.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.require=p,this.exports={}},d.modules=e,d.cache=l,d.parent=u,d.distDir=void 0,d.publicUrl=void 0,d.devServer=void 0,d.i=f,d.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(d,"root",{get:function(){return c[n]}}),c[n]=d;for(var y=0;y<t.length;y++)d(t[y]);if(r){var _=d(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=_:"function"==typeof define&&define.amd&&define(function(){return _})}}({"8IkGp":[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",function(){return u});var i=e("@swc/helpers/cjs/_async_to_generator.cjs"),a=e("@swc/helpers/cjs/_class_call_check.cjs"),s=e("@swc/helpers/cjs/_create_class.cjs"),c=e("@swc/helpers/cjs/_ts_generator.cjs"),u=function(){"use strict";function e(t){var r=t.iframe,n=t.url;if((0,a._)(this,e),r instanceof HTMLIFrameElement==!1)throw TypeError('"option.iframe" needs to be a HTMLIFrameElement');if("string"!=typeof n)throw TypeError('"option.url" needs to be a string');this.url=n,this.$iframe=r,this.promises={},this.injected=!1,this.destroyed=!1,this.messageCallback=function(){return null},this.onMessage=this.onMessage.bind(this),window.addEventListener("message",this.onMessage),this.$iframe.src=this.url}return(0,s._)(e,[{key:"onMessage",value:function(e){var t=e.data,r=t.type,n=t.data,o=t.id;"inject"===r&&(this.injected=!0),this.promises[o]&&("error"===r?this.promises[o].reject(Error(n)):this.promises[o].resove(n),delete this.promises[o]),this.messageCallback&&this.messageCallback({type:r,data:n})}},{key:"postMessage",value:function(e){var t=this,r=e.type,n=e.data;return new Promise(function(e,o){(function t(){if(this.destroyed)o(Error("The instance has been destroyed"));else if(this.injected){var i=Date.now();this.promises[i]={resove:e,reject:o},this.$iframe.contentWindow.postMessage({type:r,data:n,id:i},"*")}else setTimeout(t.bind(this),200)}).call(t)})}},{key:"commit",value:function(e){if("function"!=typeof e)throw TypeError('"commit.callback" needs to be a function');var t=e.toString(),r=t.substring(t.indexOf("{")+1,t.lastIndexOf("}"));return this.postMessage({type:"commit",data:r})}},{key:"message",value:function(e){if("function"!=typeof e)throw TypeError('"message.callback" needs to be a function');this.messageCallback=e}},{key:"destroy",value:function(){this.destroyed=!0,window.removeEventListener("message",this.onMessage)}}],[{key:"iframe",get:function(){return window.top!==window}},{key:"postMessage",value:function(t){var r=t.type,n=t.data,o=t.id;if(!e.iframe)throw Error('The "ArtplayerPluginIframe.postMessage" method can only be used in iframe');window.parent.postMessage({type:r,data:n,id:void 0===o?0:o},"*")}},{key:"onMessage",value:function(t){return(0,i._)(function(){var r,n,o,i,a,s,u;return(0,c._)(this,function(c){switch(c.label){case 0:if(!e.iframe)throw Error('The "ArtplayerPluginIframe.onMessage" method can only be used in iframe');if(n=(r=t.data).type,o=r.data,i=r.id,"commit"===n)return[3,1];return[3,7];case 1:if(c.trys.push([1,5,,6]),!o.match(/\bresolve\((.*?)\)/))return[3,3];return[4,Function("return new Promise(function(resolve){\n".concat(o,"\n})"))()];case 2:return a=c.sent(),e.postMessage({type:"response",data:a,id:i}),[3,4];case 3:s=Function(o)(),e.postMessage({type:"response",data:s,id:i}),c.label=4;case 4:return[3,6];case 5:throw u=c.sent(),e.postMessage({type:"error",data:u.message,id:i}),u;case 6:case 7:return[3,8];case 8:return[2]}})})()}},{key:"inject",value:function(){if(!e.iframe)throw Error('The "ArtplayerPluginIframe.inject" method can only be used in iframe');e.postMessage({type:"inject"}),window.addEventListener("message",e.onMessage)}}]),e}();"undefined"!=typeof window&&(window.ArtplayerPluginIframe=u)},{"@swc/helpers/cjs/_async_to_generator.cjs":"cZn0e","@swc/helpers/cjs/_class_call_check.cjs":"4Uf9M","@swc/helpers/cjs/_create_class.cjs":"igUuK","@swc/helpers/cjs/_ts_generator.cjs":"eltGh","@parcel/transformer-js/src/esmodule-helpers.js":"qpMMf"}],cZn0e:[function(e,t,r,n){"use strict";function o(e,t,r,n,o,i,a){try{var s=e[i](a),c=s.value}catch(e){r(e);return}s.done?t(c):ProLine truncated
|
||||
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"license": "MIT",
|
||||
"version": "1.0.0",
|
||||
"name": "artplayer-plugin-iframe",
|
||||
"description": "Iframe plugin for ArtPlayer",
|
||||
"main": "dist/artplayer-plugin-iframe.js",
|
||||
"legacy": "dist/artplayer-plugin-iframe.legacy.js",
|
||||
"module": "dist/artplayer-plugin-iframe.esm.js",
|
||||
"types": "types/artplayer-plugin-iframe.d.ts",
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-iframe.esm.js",
|
||||
"require": "./dist/artplayer-plugin-iframe.js",
|
||||
"default": "./dist/artplayer-plugin-iframe.js"
|
||||
},
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
]
|
||||
"name": "artplayer-plugin-iframe",
|
||||
"version": "1.0.0",
|
||||
"description": "Iframe plugin for ArtPlayer",
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"license": "MIT",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-iframe.esm.js",
|
||||
"require": "./dist/artplayer-plugin-iframe.js",
|
||||
"default": "./dist/artplayer-plugin-iframe.js"
|
||||
},
|
||||
"main": "dist/artplayer-plugin-iframe.js",
|
||||
"legacy": "dist/artplayer-plugin-iframe.legacy.js",
|
||||
"module": "dist/artplayer-plugin-iframe.esm.js",
|
||||
"types": "types/artplayer-plugin-iframe.d.ts",
|
||||
"browserslist": "last 1 Chrome version"
|
||||
}
|
||||
@@ -1,151 +1,158 @@
|
||||
export default class ArtplayerPluginIframe {
|
||||
static get iframe() {
|
||||
return window.top !== window;
|
||||
static get iframe() {
|
||||
return window.top !== window
|
||||
}
|
||||
|
||||
static postMessage({ type, data, id = 0 }) {
|
||||
if (!ArtplayerPluginIframe.iframe) {
|
||||
throw new Error('The "ArtplayerPluginIframe.postMessage" method can only be used in iframe')
|
||||
}
|
||||
|
||||
static postMessage({ type, data, id = 0 }) {
|
||||
if (!ArtplayerPluginIframe.iframe) {
|
||||
throw new Error('The "ArtplayerPluginIframe.postMessage" method can only be used in iframe');
|
||||
}
|
||||
window.parent.postMessage(
|
||||
{
|
||||
type,
|
||||
data,
|
||||
id,
|
||||
},
|
||||
'*',
|
||||
)
|
||||
}
|
||||
|
||||
window.parent.postMessage(
|
||||
{
|
||||
type: type,
|
||||
data: data,
|
||||
id: id,
|
||||
},
|
||||
'*',
|
||||
);
|
||||
static async onMessage(event) {
|
||||
if (!ArtplayerPluginIframe.iframe) {
|
||||
throw new Error('The "ArtplayerPluginIframe.onMessage" method can only be used in iframe')
|
||||
}
|
||||
|
||||
static async onMessage(event) {
|
||||
if (!ArtplayerPluginIframe.iframe) {
|
||||
throw new Error('The "ArtplayerPluginIframe.onMessage" method can only be used in iframe');
|
||||
const { type, data, id } = event.data
|
||||
switch (type) {
|
||||
case 'commit':
|
||||
try {
|
||||
if (data.match(/\bresolve\((.*?)\)/)) {
|
||||
const string = `return new Promise(function(resolve){\n${data}\n})`
|
||||
// eslint-disable-next-line no-new-func
|
||||
const result = await new Function(string)()
|
||||
ArtplayerPluginIframe.postMessage({ type: 'response', data: result, id })
|
||||
}
|
||||
else {
|
||||
// eslint-disable-next-line no-new-func
|
||||
const result = new Function(data)()
|
||||
ArtplayerPluginIframe.postMessage({ type: 'response', data: result, id })
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
ArtplayerPluginIframe.postMessage({ type: 'error', data: error.message, id })
|
||||
throw error
|
||||
}
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
const { type, data, id } = event.data;
|
||||
switch (type) {
|
||||
case 'commit':
|
||||
try {
|
||||
if (data.match(/\bresolve\((.*?)\)/)) {
|
||||
const string = `return new Promise(function(resolve){\n${data}\n})`;
|
||||
const result = await new Function(string)();
|
||||
ArtplayerPluginIframe.postMessage({ type: 'response', data: result, id });
|
||||
} else {
|
||||
const result = new Function(data)();
|
||||
ArtplayerPluginIframe.postMessage({ type: 'response', data: result, id });
|
||||
}
|
||||
} catch (error) {
|
||||
ArtplayerPluginIframe.postMessage({ type: 'error', data: error.message, id });
|
||||
throw error;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
static inject() {
|
||||
if (!ArtplayerPluginIframe.iframe) {
|
||||
throw new Error('The "ArtplayerPluginIframe.inject" method can only be used in iframe')
|
||||
}
|
||||
|
||||
static inject() {
|
||||
if (!ArtplayerPluginIframe.iframe) {
|
||||
throw new Error('The "ArtplayerPluginIframe.inject" method can only be used in iframe');
|
||||
}
|
||||
ArtplayerPluginIframe.postMessage({ type: 'inject' })
|
||||
window.addEventListener('message', ArtplayerPluginIframe.onMessage)
|
||||
}
|
||||
|
||||
ArtplayerPluginIframe.postMessage({ type: 'inject' });
|
||||
window.addEventListener('message', ArtplayerPluginIframe.onMessage);
|
||||
constructor({ iframe, url }) {
|
||||
if (iframe instanceof HTMLIFrameElement === false) {
|
||||
throw new TypeError('"option.iframe" needs to be a HTMLIFrameElement')
|
||||
}
|
||||
|
||||
constructor({ iframe, url }) {
|
||||
if (iframe instanceof HTMLIFrameElement === false) {
|
||||
throw new Error('"option.iframe" needs to be a HTMLIFrameElement');
|
||||
}
|
||||
|
||||
if (typeof url !== 'string') {
|
||||
throw new Error('"option.url" needs to be a string');
|
||||
}
|
||||
|
||||
this.url = url;
|
||||
this.$iframe = iframe;
|
||||
this.promises = {};
|
||||
this.injected = false;
|
||||
this.destroyed = false;
|
||||
this.messageCallback = () => null;
|
||||
this.onMessage = this.onMessage.bind(this);
|
||||
window.addEventListener('message', this.onMessage);
|
||||
this.$iframe.src = this.url;
|
||||
if (typeof url !== 'string') {
|
||||
throw new TypeError('"option.url" needs to be a string')
|
||||
}
|
||||
|
||||
onMessage(event) {
|
||||
const { type, data, id } = event.data;
|
||||
this.url = url
|
||||
this.$iframe = iframe
|
||||
this.promises = {}
|
||||
this.injected = false
|
||||
this.destroyed = false
|
||||
this.messageCallback = () => null
|
||||
this.onMessage = this.onMessage.bind(this)
|
||||
window.addEventListener('message', this.onMessage)
|
||||
this.$iframe.src = this.url
|
||||
}
|
||||
|
||||
switch (type) {
|
||||
case 'inject':
|
||||
this.injected = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
onMessage(event) {
|
||||
const { type, data, id } = event.data
|
||||
|
||||
if (this.promises[id]) {
|
||||
if (type === 'error') {
|
||||
this.promises[id].reject(new Error(data));
|
||||
} else {
|
||||
this.promises[id].resove(data);
|
||||
}
|
||||
delete this.promises[id];
|
||||
}
|
||||
|
||||
if (this.messageCallback) {
|
||||
this.messageCallback({ type, data });
|
||||
}
|
||||
switch (type) {
|
||||
case 'inject':
|
||||
this.injected = true
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
|
||||
postMessage({ type, data }) {
|
||||
return new Promise((resove, reject) => {
|
||||
(function loop() {
|
||||
if (this.destroyed) {
|
||||
reject(new Error('The instance has been destroyed'));
|
||||
} else {
|
||||
if (this.injected) {
|
||||
const id = Date.now();
|
||||
this.promises[id] = { resove, reject };
|
||||
this.$iframe.contentWindow.postMessage(
|
||||
{
|
||||
type: type,
|
||||
data: data,
|
||||
id: id,
|
||||
},
|
||||
'*',
|
||||
);
|
||||
} else {
|
||||
setTimeout(loop.bind(this), 200);
|
||||
}
|
||||
}
|
||||
}).call(this);
|
||||
});
|
||||
if (this.promises[id]) {
|
||||
if (type === 'error') {
|
||||
this.promises[id].reject(new Error(data))
|
||||
}
|
||||
else {
|
||||
this.promises[id].resove(data)
|
||||
}
|
||||
delete this.promises[id]
|
||||
}
|
||||
|
||||
commit(callback) {
|
||||
if (typeof callback !== 'function') {
|
||||
throw new Error('"commit.callback" needs to be a function');
|
||||
if (this.messageCallback) {
|
||||
this.messageCallback({ type, data })
|
||||
}
|
||||
}
|
||||
|
||||
postMessage({ type, data }) {
|
||||
return new Promise((resove, reject) => {
|
||||
(function loop() {
|
||||
if (this.destroyed) {
|
||||
reject(new Error('The instance has been destroyed'))
|
||||
}
|
||||
const callbackString = callback.toString();
|
||||
const bodyString = callbackString.substring(callbackString.indexOf('{') + 1, callbackString.lastIndexOf('}'));
|
||||
return this.postMessage({ type: 'commit', data: bodyString });
|
||||
}
|
||||
|
||||
message(callback) {
|
||||
if (typeof callback !== 'function') {
|
||||
throw new Error('"message.callback" needs to be a function');
|
||||
else {
|
||||
if (this.injected) {
|
||||
const id = Date.now()
|
||||
this.promises[id] = { resove, reject }
|
||||
this.$iframe.contentWindow.postMessage(
|
||||
{
|
||||
type,
|
||||
data,
|
||||
id,
|
||||
},
|
||||
'*',
|
||||
)
|
||||
}
|
||||
else {
|
||||
setTimeout(loop.bind(this), 200)
|
||||
}
|
||||
}
|
||||
this.messageCallback = callback;
|
||||
}
|
||||
}).call(this)
|
||||
})
|
||||
}
|
||||
|
||||
destroy() {
|
||||
this.destroyed = true;
|
||||
window.removeEventListener('message', this.onMessage);
|
||||
commit(callback) {
|
||||
if (typeof callback !== 'function') {
|
||||
throw new TypeError('"commit.callback" needs to be a function')
|
||||
}
|
||||
const callbackString = callback.toString()
|
||||
const bodyString = callbackString.substring(callbackString.indexOf('{') + 1, callbackString.lastIndexOf('}'))
|
||||
return this.postMessage({ type: 'commit', data: bodyString })
|
||||
}
|
||||
|
||||
message(callback) {
|
||||
if (typeof callback !== 'function') {
|
||||
throw new TypeError('"message.callback" needs to be a function')
|
||||
}
|
||||
this.messageCallback = callback
|
||||
}
|
||||
|
||||
destroy() {
|
||||
this.destroyed = true
|
||||
window.removeEventListener('message', this.onMessage)
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window['ArtplayerPluginIframe'] = ArtplayerPluginIframe;
|
||||
window.ArtplayerPluginIframe = ArtplayerPluginIframe
|
||||
}
|
||||
@@ -1,30 +1,30 @@
|
||||
export = ArtplayerPluginIframe;
|
||||
export = ArtplayerPluginIframe
|
||||
export as namespace ArtplayerPluginIframe;
|
||||
|
||||
type Message = {
|
||||
type: string;
|
||||
data: any;
|
||||
id?: number;
|
||||
};
|
||||
interface Message {
|
||||
type: string
|
||||
data: any
|
||||
id?: number
|
||||
}
|
||||
|
||||
declare class ArtplayerPluginIframe {
|
||||
constructor(option: { iframe: HTMLIFrameElement; url: string });
|
||||
constructor(option: { iframe: HTMLIFrameElement, url: string })
|
||||
|
||||
static iframe: boolean;
|
||||
static postMessage(message: Message): void;
|
||||
static onMessage(event: MessageEvent & { data: Message }): void;
|
||||
static inject(): void;
|
||||
static iframe: boolean
|
||||
static postMessage(message: Message): void
|
||||
static onMessage(event: MessageEvent & { data: Message }): void
|
||||
static inject(): void
|
||||
|
||||
readonly promises: Record<number, { resove: Function; reject: Function }>;
|
||||
readonly injected: boolean;
|
||||
readonly destroyed: boolean;
|
||||
readonly $iframe: HTMLIFrameElement;
|
||||
readonly url: string;
|
||||
readonly messageCallback: (...args: any[]) => any;
|
||||
readonly promises: Record<number, { resove: Function, reject: Function }>
|
||||
readonly injected: boolean
|
||||
readonly destroyed: boolean
|
||||
readonly $iframe: HTMLIFrameElement
|
||||
readonly url: string
|
||||
readonly messageCallback: (...args: any[]) => any
|
||||
|
||||
onMessage(event: MessageEvent & { data: Message }): void;
|
||||
postMessage(message: Message): Promise<any>;
|
||||
commit<T extends (...args: any[]) => any>(callback: T): Promise<ReturnType<T>>;
|
||||
message(callback: (...args: any[]) => any): void;
|
||||
destroy(): void;
|
||||
onMessage(event: MessageEvent & { data: Message }): void
|
||||
postMessage(message: Message): Promise<any>
|
||||
commit<T extends (...args: any[]) => any>(callback: T): Promise<ReturnType<T>>
|
||||
message(callback: (...args: any[]) => any): void
|
||||
destroy(): void
|
||||
}
|
||||
@@ -5,5 +5,5 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,s,i,n,a,o){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},c="function"==typeof l[s]&&l[s],d=c.i||{},u=c.cache||{},v="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!u[t]){if(!e[t]){if(i[t])return i[t];var n="function"==typeof l[s]&&l[s];if(!r&&n)return n(t,!0);if(c)return c(t,!0);if(v&&"string"==typeof t)return v(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}d.resolve=function(r){var s=e[t][1][r];return null!=s?s:r},d.cache={};var o=u[t]=new f.Module(t);e[t][0].call(o.exports,d,o,o.exports,l)}return u[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=v,this.exports={}},f.modules=e,f.cache=u,f.parent=c,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=d,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return l[s]}}),l[s]=f;for(var h=0;h<t.length;h++)f(t[h]);if(r){var m=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({"4omrA":[function(e,t,r,s){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(r),i.export(r,"default",()=>o);var n=e("./adapter"),a=i.interopDefault(n);function o(e){return t=>{let r=new(0,a.default)(t,e);return{name:"artplayerPluginLibass",libass:r.libass,visible:r.visible,init:r.init.bind(r),switch:r.switch.bind(r),show:r.show.bind(r),hide:r.hide.bind(r),destroy:r.destroy.bind(r)}}}"undefined"!=typeof window&&(window.artplayerPluginLibass=o)},{"./adapter":"i5CMM","@parcel/transformer-js/src/esmodule-helpers.js":"w4pLy"}],i5CMM:[function(e,t,r,s){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(r);var n=e("libass-wasm"),a=i.interopDefault(n);let o=`[Script Info] ScriptType: v4.00+`;r.default=class{constructor(e,t){let{constructor:r,template:s}=e;this.art=e,this.$video=s.$video,this.$webvtt=s.$subtitle,this.utils=r.utils,this.libass=null,e.once("ready",this.init.bind(this,t))}async init(e){this.#e(),await this.#t(e),this.#r(),this.art.emit("artplayerPluginLibass:init",this);let t=this.art?.option?.subtitle?.url;t&&"ass"===this.utils.getExt(t)&&this.switch(t)}switch(e){this.art.emit("artplayerPluginLibass:switch",e),e&&"ass"===this.utils.getExt(e)?(this.currentType="ass",this.libass.freeTrack(),this.libass.setTrackByUrl(this.#s(e)),this.visible=this.art.subtitle.show):(this.currentType="webvtt",this.hide(),this.libass.freeTrack())}setVisibility(e){this.visible=e}setOffset(e){this.timeOffset=e}get active(){return"ass"===this.currentType}get visible(){return!!this.libass&&"none"!==this.libass.canvasParent.style.display}set visible(e){this.art.emit("artplayerPluginLibass:visible",e),this.#i(!this.active),this.libass.canvasParent&&(this.libass.canvasParent.style.display=e?"block":"none",e&&this.libass.resize())}get timeOffset(){return this.libass.timeOffset}set timeOffset(e){this.art.emit("artplayerPluginLibass:timeOffset",e),this.libass.timeOffset=e}show(){this.visible=!0}hide(){this.visible=!1}destroy(){this.art.emit("artplayerPluginLibass:destroy"),this.#n(),this.libass.dispose(),URL.revokeObjectURL(this.workerScriptUrl),this.libass=null}async #t(e={}){if(!e.fallbackFont)return this.utils.errorHandle(e.fallbackFont,"artplayerPluginLibass: fallbackFont is required");e.workerUrl||(e.workerUrl="https://cdnjs.cloudflare.com/ajax/libs/libass-wasm/4.1.0/js/subtitles-octopus-worker.js"),e.availableFonts&&(e.availableFonts=Object.entries(e.availableFonts).reduce((e,[t,r])=>(e[t]=this.#s(r),e),{})),this.libass=new(0,a.default)({subContent:o,video:this.$video,...e,workerUrl:await this.#a(e),fallbackFont:this.#s(e.fallbackFont),fonts:e.fonts?.map(e=>this.#s(e))}),this.libass.canvasParent.className="artplayer-plugin-libass",this.libass.canvasParent.style.cssText=` position: absolute; top: 0; left: 0; width: 100%; height: 100%; user-select: none; pointer-events: none; z-index: 20;`}#r(){this.switchHandler=this.switch.bind(this),this.visibleHandler=this.setVisibility.bind(this),this.offsetHandler=this.setOffset.bind(this),this.art.on("subtitle",this.visibleHandler),this.art.on("subtitleLoad",this.switchHandler),this.art.on("subtitleOffset",this.offsetHandler),this.art.once("destroy",this.destroy.bind(this))}#n(){this.art.off("subtitle",this.visibleHandler),this.art.off("subtitleLoad",this.switchHandler),this.art.off("subtitleOffset",this.offsetHandler)}#i(e){this.$webvtt.style.visibility=e?"visible":"hidden"}#s(e){return this.#o(e)?e:new URL(e,document.baseURI).toString()}#o(e){return/^https?:\/\//.test(e)}#a({workerUrl:e,wasmUrl:t}){return new Promise(r=>{fetch(e).then(e=>e.text()).then(s=>{let i=s,n=new Blob([i=i.replace(/wasmBinaryFile\s*=\s*"(subtitles-octopus-worker\.wasm)"/g,(r,s)=>(Line truncated
|
||||
!function(e,t,r,s,i,n,a,o){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},c="function"==typeof l[s]&&l[s],d=c.i||{},u=c.cache||{},v="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!u[t]){if(!e[t]){if(i[t])return i[t];var n="function"==typeof l[s]&&l[s];if(!r&&n)return n(t,!0);if(c)return c(t,!0);if(v&&"string"==typeof t)return v(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}d.resolve=function(r){var s=e[t][1][r];return null!=s?s:r},d.cache={};var o=u[t]=new f.Module(t);e[t][0].call(o.exports,d,o,o.exports,l)}return u[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=v,this.exports={}},f.modules=e,f.cache=u,f.parent=c,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=d,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return l[s]}}),l[s]=f;for(var h=0;h<t.length;h++)f(t[h]);if(r){var m=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({"4083l":[function(e,t,r,s){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(r),i.export(r,"default",()=>o);var n=e("./adapter"),a=i.interopDefault(n);function o(e){return t=>{let r=new(0,a.default)(t,e);return{name:"artplayerPluginLibass",libass:r.libass,visible:r.visible,init:r.init.bind(r),switch:r.switch.bind(r),show:r.show.bind(r),hide:r.hide.bind(r),destroy:r.destroy.bind(r)}}}"undefined"!=typeof window&&(window.artplayerPluginLibass=o)},{"./adapter":"uLby7","@parcel/transformer-js/src/esmodule-helpers.js":"5lQoW"}],uLby7:[function(e,t,r,s){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(r);var n=e("libass-wasm"),a=i.interopDefault(n);let o=`[Script Info] ScriptType: v4.00+`;r.default=class{constructor(e,t){let{constructor:r,template:s}=e;this.art=e,this.$video=s.$video,this.$webvtt=s.$subtitle,this.utils=r.utils,this.libass=null,e.once("ready",this.init.bind(this,t))}async init(e){this.#e(),await this.#t(e),this.#r(),this.art.emit("artplayerPluginLibass:init",this);let t=this.art?.option?.subtitle?.url;t&&"ass"===this.utils.getExt(t)&&this.switch(t)}switch(e){this.art.emit("artplayerPluginLibass:switch",e),e&&"ass"===this.utils.getExt(e)?(this.currentType="ass",this.libass.freeTrack(),this.libass.setTrackByUrl(this.#s(e)),this.visible=this.art.subtitle.show):(this.currentType="webvtt",this.hide(),this.libass.freeTrack())}setVisibility(e){this.visible=e}setOffset(e){this.timeOffset=e}get active(){return"ass"===this.currentType}get visible(){return!!this.libass&&"none"!==this.libass.canvasParent.style.display}set visible(e){this.art.emit("artplayerPluginLibass:visible",e),this.#i(!this.active),this.libass.canvasParent&&(this.libass.canvasParent.style.display=e?"block":"none",e&&this.libass.resize())}get timeOffset(){return this.libass.timeOffset}set timeOffset(e){this.art.emit("artplayerPluginLibass:timeOffset",e),this.libass.timeOffset=e}show(){this.visible=!0}hide(){this.visible=!1}destroy(){this.art.emit("artplayerPluginLibass:destroy"),this.#n(),this.libass.dispose(),URL.revokeObjectURL(this.workerScriptUrl),this.libass=null}async #t(e={}){if(!e.fallbackFont)return this.utils.errorHandle(e.fallbackFont,"artplayerPluginLibass: fallbackFont is required");e.workerUrl||(e.workerUrl="https://cdnjs.cloudflare.com/ajax/libs/libass-wasm/4.1.0/js/subtitles-octopus-worker.js"),e.availableFonts&&(e.availableFonts=Object.entries(e.availableFonts).reduce((e,[t,r])=>(e[t]=this.#s(r),e),{})),this.libass=new(0,a.default)({subContent:o,video:this.$video,...e,workerUrl:await this.#a(e),fallbackFont:this.#s(e.fallbackFont),fonts:e.fonts?.map(e=>this.#s(e))}),this.libass.canvasParent.className="artplayer-plugin-libass",this.libass.canvasParent.style.cssText=` position: absolute; top: 0; left: 0; width: 100%; height: 100%; user-select: none; pointer-events: none; z-index: 20;`}#r(){this.switchHandler=this.switch.bind(this),this.visibleHandler=this.setVisibility.bind(this),this.offsetHandler=this.setOffset.bind(this),this.art.on("subtitle",this.visibleHandler),this.art.on("subtitleLoad",this.switchHandler),this.art.on("subtitleOffset",this.offsetHandler),this.art.once("destroy",this.destroy.bind(this))}#n(){this.art.off("subtitle",this.visibleHandler),this.art.off("subtitleLoad",this.switchHandler),this.art.off("subtitleOffset",this.offsetHandler)}#i(e){this.$webvtt.style.visibility=e?"visible":"hidden"}#s(e){return this.#o(e)?e:new URL(e,document.baseURI).toString()}#o(e){return/^https?:\/\//.test(e)}#a({workerUrl:e,wasmUrl:t}){return new Promise(r=>{fetch(e).then(e=>e.text()).then(s=>{let i=s,n=new Blob([i=i.replace(/wasmBinaryFile\s*=\s*"(subtitles-octopus-worker\.wasm)"/g,(r,s)=>(Line truncated
|
||||
//# sourceMappingURL=artplayer-plugin-libass.esm.js.map
|
||||
@@ -1 +1 @@
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCEwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAFxB,IAAA,EAAA,EAAA,a,E,E,c,C,GAEe,SAAS,EAAsB,CAAM,EAChD,OAAO,AAAC,IACJ,IAAM,EAAU,GAAI,CAAA,EAAA,EAAA,OAAY,AAAZ,EAAc,EAAK,GACvC,MAAO,CACH,KAAM,wBACN,OAAQ,EAAQ,MAAM,CACtB,QAAS,EAAQ,OAAO,CACxB,KAAM,EAAQ,IAAI,CAAC,IAAI,CAAC,GACxB,OAAQ,EAAQ,MAAM,CAAC,IAAI,CAAC,GAC5B,KAAM,EAAQ,IAAI,CAAC,IAAI,CAAC,GACxB,KA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 truncated
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCEwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAFxB,IAAA,EAAA,EAAA,a,E,E,c,C,GAEe,SAAS,EAAsB,CAAM,EAClD,OAAO,AAAC,IACN,IAAM,EAAU,GAAI,CAAA,EAAA,EAAA,OAAY,AAAZ,EAAc,EAAK,GACvC,MAAO,CACL,KAAM,wBACN,OAAQ,EAAQ,MAAM,CACtB,QAAS,EAAQ,OAAO,CACxB,KAAM,EAAQ,IAAI,CAAC,IAAI,CAAC,GACxB,OAAQ,EAAQ,MAAM,CAAC,IAAI,CAAC,GAC5B,KAAM,EAAQ,IAAI,CAAC,IAAI,CAAC,GACxB,KA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 truncated
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,s,i,n,a,o){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},c="function"==typeof l[s]&&l[s],d=c.i||{},u=c.cache||{},v="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!u[t]){if(!e[t]){if(i[t])return i[t];var n="function"==typeof l[s]&&l[s];if(!r&&n)return n(t,!0);if(c)return c(t,!0);if(v&&"string"==typeof t)return v(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}d.resolve=function(r){var s=e[t][1][r];return null!=s?s:r},d.cache={};var o=u[t]=new f.Module(t);e[t][0].call(o.exports,d,o,o.exports,l)}return u[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=v,this.exports={}},f.modules=e,f.cache=u,f.parent=c,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=d,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return l[s]}}),l[s]=f;for(var h=0;h<t.length;h++)f(t[h]);if(r){var m=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({jz4E5:[function(e,t,r,s){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(r),i.export(r,"default",()=>o);var n=e("./adapter"),a=i.interopDefault(n);function o(e){return t=>{let r=new(0,a.default)(t,e);return{name:"artplayerPluginLibass",libass:r.libass,visible:r.visible,init:r.init.bind(r),switch:r.switch.bind(r),show:r.show.bind(r),hide:r.hide.bind(r),destroy:r.destroy.bind(r)}}}"undefined"!=typeof window&&(window.artplayerPluginLibass=o)},{"./adapter":"b8yho","@parcel/transformer-js/src/esmodule-helpers.js":"7o2zS"}],b8yho:[function(e,t,r,s){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(r);var n=e("libass-wasm"),a=i.interopDefault(n);let o=`[Script Info] ScriptType: v4.00+`;r.default=class{constructor(e,t){let{constructor:r,template:s}=e;this.art=e,this.$video=s.$video,this.$webvtt=s.$subtitle,this.utils=r.utils,this.libass=null,e.once("ready",this.init.bind(this,t))}async init(e){this.#e(),await this.#t(e),this.#r(),this.art.emit("artplayerPluginLibass:init",this);let t=this.art?.option?.subtitle?.url;t&&"ass"===this.utils.getExt(t)&&this.switch(t)}switch(e){this.art.emit("artplayerPluginLibass:switch",e),e&&"ass"===this.utils.getExt(e)?(this.currentType="ass",this.libass.freeTrack(),this.libass.setTrackByUrl(this.#s(e)),this.visible=this.art.subtitle.show):(this.currentType="webvtt",this.hide(),this.libass.freeTrack())}setVisibility(e){this.visible=e}setOffset(e){this.timeOffset=e}get active(){return"ass"===this.currentType}get visible(){return!!this.libass&&"none"!==this.libass.canvasParent.style.display}set visible(e){this.art.emit("artplayerPluginLibass:visible",e),this.#i(!this.active),this.libass.canvasParent&&(this.libass.canvasParent.style.display=e?"block":"none",e&&this.libass.resize())}get timeOffset(){return this.libass.timeOffset}set timeOffset(e){this.art.emit("artplayerPluginLibass:timeOffset",e),this.libass.timeOffset=e}show(){this.visible=!0}hide(){this.visible=!1}destroy(){this.art.emit("artplayerPluginLibass:destroy"),this.#n(),this.libass.dispose(),URL.revokeObjectURL(this.workerScriptUrl),this.libass=null}async #t(e={}){if(!e.fallbackFont)return this.utils.errorHandle(e.fallbackFont,"artplayerPluginLibass: fallbackFont is required");e.workerUrl||(e.workerUrl="https://cdnjs.cloudflare.com/ajax/libs/libass-wasm/4.1.0/js/subtitles-octopus-worker.js"),e.availableFonts&&(e.availableFonts=Object.entries(e.availableFonts).reduce((e,[t,r])=>(e[t]=this.#s(r),e),{})),this.libass=new(0,a.default)({subContent:o,video:this.$video,...e,workerUrl:await this.#a(e),fallbackFont:this.#s(e.fallbackFont),fonts:e.fonts?.map(e=>this.#s(e))}),this.libass.canvasParent.className="artplayer-plugin-libass",this.libass.canvasParent.style.cssText=` position: absolute; top: 0; left: 0; width: 100%; height: 100%; user-select: none; pointer-events: none; z-index: 20;`}#r(){this.switchHandler=this.switch.bind(this),this.visibleHandler=this.setVisibility.bind(this),this.offsetHandler=this.setOffset.bind(this),this.art.on("subtitle",this.visibleHandler),this.art.on("subtitleLoad",this.switchHandler),this.art.on("subtitleOffset",this.offsetHandler),this.art.once("destroy",this.destroy.bind(this))}#n(){this.art.off("subtitle",this.visibleHandler),this.art.off("subtitleLoad",this.switchHandler),this.art.off("subtitleOffset",this.offsetHandler)}#i(e){this.$webvtt.style.visibility=e?"visible":"hidden"}#s(e){return this.#o(e)?e:new URL(e,document.baseURI).toString()}#o(e){return/^https?:\/\//.test(e)}#a({workerUrl:e,wasmUrl:t}){return new Promise(r=>{fetch(e).then(e=>e.text()).then(s=>{let i=s,n=new Blob([i=i.replace(/wasmBinaryFile\s*=\s*"(subtitles-octopus-worker\.wasm)"/g,(r,s)=>(t=Line truncated
|
||||
!function(e,t,r,s,i,n,a,o){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},c="function"==typeof l[s]&&l[s],d=c.i||{},u=c.cache||{},v="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,r){if(!u[t]){if(!e[t]){if(i[t])return i[t];var n="function"==typeof l[s]&&l[s];if(!r&&n)return n(t,!0);if(c)return c(t,!0);if(v&&"string"==typeof t)return v(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}d.resolve=function(r){var s=e[t][1][r];return null!=s?s:r},d.cache={};var o=u[t]=new f.Module(t);e[t][0].call(o.exports,d,o,o.exports,l)}return u[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=v,this.exports={}},f.modules=e,f.cache=u,f.parent=c,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=d,f.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(f,"root",{get:function(){return l[s]}}),l[s]=f;for(var h=0;h<t.length;h++)f(t[h]);if(r){var m=f(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=m:"function"==typeof define&&define.amd&&define(function(){return m})}}({"9G2Gn":[function(e,t,r,s){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(r),i.export(r,"default",()=>o);var n=e("./adapter"),a=i.interopDefault(n);function o(e){return t=>{let r=new(0,a.default)(t,e);return{name:"artplayerPluginLibass",libass:r.libass,visible:r.visible,init:r.init.bind(r),switch:r.switch.bind(r),show:r.show.bind(r),hide:r.hide.bind(r),destroy:r.destroy.bind(r)}}}"undefined"!=typeof window&&(window.artplayerPluginLibass=o)},{"./adapter":"aO4ju","@parcel/transformer-js/src/esmodule-helpers.js":"6ykb1"}],aO4ju:[function(e,t,r,s){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(r);var n=e("libass-wasm"),a=i.interopDefault(n);let o=`[Script Info] ScriptType: v4.00+`;r.default=class{constructor(e,t){let{constructor:r,template:s}=e;this.art=e,this.$video=s.$video,this.$webvtt=s.$subtitle,this.utils=r.utils,this.libass=null,e.once("ready",this.init.bind(this,t))}async init(e){this.#e(),await this.#t(e),this.#r(),this.art.emit("artplayerPluginLibass:init",this);let t=this.art?.option?.subtitle?.url;t&&"ass"===this.utils.getExt(t)&&this.switch(t)}switch(e){this.art.emit("artplayerPluginLibass:switch",e),e&&"ass"===this.utils.getExt(e)?(this.currentType="ass",this.libass.freeTrack(),this.libass.setTrackByUrl(this.#s(e)),this.visible=this.art.subtitle.show):(this.currentType="webvtt",this.hide(),this.libass.freeTrack())}setVisibility(e){this.visible=e}setOffset(e){this.timeOffset=e}get active(){return"ass"===this.currentType}get visible(){return!!this.libass&&"none"!==this.libass.canvasParent.style.display}set visible(e){this.art.emit("artplayerPluginLibass:visible",e),this.#i(!this.active),this.libass.canvasParent&&(this.libass.canvasParent.style.display=e?"block":"none",e&&this.libass.resize())}get timeOffset(){return this.libass.timeOffset}set timeOffset(e){this.art.emit("artplayerPluginLibass:timeOffset",e),this.libass.timeOffset=e}show(){this.visible=!0}hide(){this.visible=!1}destroy(){this.art.emit("artplayerPluginLibass:destroy"),this.#n(),this.libass.dispose(),URL.revokeObjectURL(this.workerScriptUrl),this.libass=null}async #t(e={}){if(!e.fallbackFont)return this.utils.errorHandle(e.fallbackFont,"artplayerPluginLibass: fallbackFont is required");e.workerUrl||(e.workerUrl="https://cdnjs.cloudflare.com/ajax/libs/libass-wasm/4.1.0/js/subtitles-octopus-worker.js"),e.availableFonts&&(e.availableFonts=Object.entries(e.availableFonts).reduce((e,[t,r])=>(e[t]=this.#s(r),e),{})),this.libass=new(0,a.default)({subContent:o,video:this.$video,...e,workerUrl:await this.#a(e),fallbackFont:this.#s(e.fallbackFont),fonts:e.fonts?.map(e=>this.#s(e))}),this.libass.canvasParent.className="artplayer-plugin-libass",this.libass.canvasParent.style.cssText=` position: absolute; top: 0; left: 0; width: 100%; height: 100%; user-select: none; pointer-events: none; z-index: 20;`}#r(){this.switchHandler=this.switch.bind(this),this.visibleHandler=this.setVisibility.bind(this),this.offsetHandler=this.setOffset.bind(this),this.art.on("subtitle",this.visibleHandler),this.art.on("subtitleLoad",this.switchHandler),this.art.on("subtitleOffset",this.offsetHandler),this.art.once("destroy",this.destroy.bind(this))}#n(){this.art.off("subtitle",this.visibleHandler),this.art.off("subtitleLoad",this.switchHandler),this.art.off("subtitleOffset",this.offsetHandler)}#i(e){this.$webvtt.style.visibility=e?"visible":"hidden"}#s(e){return this.#o(e)?e:new URL(e,document.baseURI).toString()}#o(e){return/^https?:\/\//.test(e)}#a({workerUrl:e,wasmUrl:t}){return new Promise(r=>{fetch(e).then(e=>e.text()).then(s=>{let i=s,n=new Blob([i=i.replace(/wasmBinaryFile\s*=\s*"(subtitles-octopus-worker\.wasm)"/g,(r,s)=>(Line truncated
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,r,n,o,s,i,a){var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof c[n]&&c[n],l=u.i||{},f=u.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,r){if(!f[t]){if(!e[t]){if(o[t])return o[t];var s="function"==typeof c[n]&&c[n];if(!r&&s)return s(t,!0);if(u)return u(t,!0);if(d&&"string"==typeof t)return d(t);var i=Error("Cannot find module '"+t+"'");throw i.code="MODULE_NOT_FOUND",i}l.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},l.cache={};var a=f[t]=new p.Module(t);e[t][0].call(a.exports,l,a,a.exports,c)}return f[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=d,this.exports={}},p.modules=e,p.cache=f,p.parent=u,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=l,p.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(p,"root",{get:function(){return c[n]}}),c[n]=p;for(var v=0;v<t.length;v++)p(t[v]);if(r){var h=p(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({bzF6W:[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",function(){return a});var s=e("./adapter"),i=o.interopDefault(s);function a(e){return function(t){var r=new(0,i.default)(t,e);return{name:"artplayerPluginLibass",libass:r.libass,visible:r.visible,init:r.init.bind(r),switch:r.switch.bind(r),show:r.show.bind(r),hide:r.hide.bind(r),destroy:r.destroy.bind(r)}}}"undefined"!=typeof window&&(window.artplayerPluginLibass=a)},{"./adapter":"kvT3o","@parcel/transformer-js/src/esmodule-helpers.js":"ihnSZ"}],kvT3o:[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",function(){return O});var s=e("@swc/helpers/cjs/_async_to_generator.cjs"),i=e("@swc/helpers/cjs/_class_call_check.cjs"),a=e("@swc/helpers/cjs/_class_private_method_get.cjs"),c=e("@swc/helpers/cjs/_class_private_method_init.cjs"),u=e("@swc/helpers/cjs/_create_class.cjs"),l=e("@swc/helpers/cjs/_object_spread.cjs"),f=e("@swc/helpers/cjs/_object_spread_props.cjs"),d=e("@swc/helpers/cjs/_sliced_to_array.cjs"),p=e("@swc/helpers/cjs/_type_of.cjs"),v=e("@swc/helpers/cjs/_ts_generator.cjs"),h=e("libass-wasm"),b=o.interopDefault(h),y=new WeakSet,m=new WeakSet,w=new WeakSet,g=new WeakSet,_=new WeakSet,k=new WeakSet,j=new WeakSet,x=new WeakSet,O=function(){"use strict";function e(t,r){(0,i._)(this,e),(0,c._)(this,y),(0,c._)(this,m),(0,c._)(this,w),(0,c._)(this,g),(0,c._)(this,_),(0,c._)(this,k),(0,c._)(this,j),(0,c._)(this,x);var n=t.constructor,o=t.template;this.art=t,this.$video=o.$video,this.$webvtt=o.$subtitle,this.utils=n.utils,this.libass=null,t.once("ready",this.init.bind(this,r))}return(0,u._)(e,[{key:"init",value:function(e){var t=this;return(0,s._)(function(){var r,n,o,s;return(0,v._)(this,function(i){switch(i.label){case 0:return(0,a._)(t,x,F).call(t),[4,(0,a._)(t,y,E).call(t,e)];case 1:return i.sent(),(0,a._)(t,m,L).call(t),t.art.emit("artplayerPluginLibass:init",t),(s=null==(o=t.art)||null==(n=o.option)||null==(r=n.subtitle)?void 0:r.url)&&"ass"===t.utils.getExt(s)&&t.switch(s),[2]}})})()}},{key:"switch",value:function(e){this.art.emit("artplayerPluginLibass:switch",e),e&&"ass"===this.utils.getExt(e)?(this.currentType="ass",this.libass.freeTrack(),this.libass.setTrackByUrl((0,a._)(this,_,M).call(this,e)),this.visible=this.art.subtitle.show):(this.currentType="webvtt",this.hide(),this.libass.freeTrack())}},{key:"setVisibility",value:function(e){this.visible=e}},{key:"setOffset",value:function(e){this.timeOffset=e}},{key:"active",get:function(){return"ass"===this.currentType}},{key:"visible",get:function(){return!!this.libass&&"none"!==this.libass.canvasParent.style.display},set:function(e){this.art.emit("artplayerPluginLibass:visible",e),(0,a._)(this,g,S).call(this,!this.active),this.libass.canvasParent&&(this.libass.canvasParent.style.display=e?"block":"none",e&&this.libass.resize())}},{key:"timeOffset",get:function(){return this.libass.timeOffset},set:function(e){this.art.emit("artplayerPluginLibass:timeOffset",e),this.libass.timeOffset=e}},{key:"show",value:function(){this.visible=!0}},{key:"hide",value:function(){this.visible=!1}},{key:"destroy",value:function(){this.art.emit("artplayerPluginLibass:destroy"),(0,a._)(this,w,T).call(this),this.libass.dispose(),URL.revokeObjectURL(this.workerScriptUrl),this.libass=null}}]),e}();function E(){return P.apply(this,arguments)}function P(){return(P=(0,s._)(function(){var e,t,r,n,o,s,i,c=arguments;return(0,v._)(this,function(u){switch(u.label){case 0:if(e=this,!(t=c.length>0&&void 0!==c[0]?c[0]:{}).fallbackFont)return[2,this.utils.errorHandle(t.fallbackFont,"artplayerPluginLibass: fallbackFont
Line truncated
|
||||
!function(e,t,r,n,o,i,s,a){var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},l="function"==typeof c[n]&&c[n],u=l.i||{},f=l.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,r){if(!f[t]){if(!e[t]){if(o[t])return o[t];var i="function"==typeof c[n]&&c[n];if(!r&&i)return i(t,!0);if(l)return l(t,!0);if(d&&"string"==typeof t)return d(t);var s=Error("Cannot find module '"+t+"'");throw s.code="MODULE_NOT_FOUND",s}u.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},u.cache={};var a=f[t]=new p.Module(t);e[t][0].call(a.exports,u,a,a.exports,c)}return f[t].exports;function u(e){var t=u.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=d,this.exports={}},p.modules=e,p.cache=f,p.parent=l,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=u,p.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(p,"root",{get:function(){return c[n]}}),c[n]=p;for(var h=0;h<t.length;h++)p(t[h]);if(r){var v=p(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=v:"function"==typeof define&&define.amd&&define(function(){return v})}}({"4kqKD":[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",function(){return a});var i=e("./adapter"),s=o.interopDefault(i);function a(e){return function(t){var r=new(0,s.default)(t,e);return{name:"artplayerPluginLibass",libass:r.libass,visible:r.visible,init:r.init.bind(r),switch:r.switch.bind(r),show:r.show.bind(r),hide:r.hide.bind(r),destroy:r.destroy.bind(r)}}}"undefined"!=typeof window&&(window.artplayerPluginLibass=a)},{"./adapter":"jEGLL","@parcel/transformer-js/src/esmodule-helpers.js":"qpMMf"}],jEGLL:[function(e,t,r,n){var o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(r),o.export(r,"default",function(){return O});var i=e("@swc/helpers/cjs/_async_to_generator.cjs"),s=e("@swc/helpers/cjs/_class_call_check.cjs"),a=e("@swc/helpers/cjs/_class_private_method_get.cjs"),c=e("@swc/helpers/cjs/_class_private_method_init.cjs"),l=e("@swc/helpers/cjs/_create_class.cjs"),u=e("@swc/helpers/cjs/_object_spread.cjs"),f=e("@swc/helpers/cjs/_object_spread_props.cjs"),d=e("@swc/helpers/cjs/_sliced_to_array.cjs"),p=e("@swc/helpers/cjs/_type_of.cjs"),h=e("@swc/helpers/cjs/_ts_generator.cjs"),v=e("libass-wasm"),b=o.interopDefault(v),y=new WeakSet,m=new WeakSet,w=new WeakSet,g=new WeakSet,_=new WeakSet,k=new WeakSet,j=new WeakSet,x=new WeakSet,O=function(){"use strict";function e(t,r){(0,s._)(this,e),(0,c._)(this,y),(0,c._)(this,m),(0,c._)(this,w),(0,c._)(this,g),(0,c._)(this,_),(0,c._)(this,k),(0,c._)(this,j),(0,c._)(this,x);var n=t.constructor,o=t.template;this.art=t,this.$video=o.$video,this.$webvtt=o.$subtitle,this.utils=n.utils,this.libass=null,t.once("ready",this.init.bind(this,r))}return(0,l._)(e,[{key:"init",value:function(e){return(0,i._)(function(){var t,r,n,o;return(0,h._)(this,function(i){switch(i.label){case 0:return(0,a._)(this,x,R).call(this),[4,(0,a._)(this,y,E).call(this,e)];case 1:return i.sent(),(0,a._)(this,m,P).call(this),this.art.emit("artplayerPluginLibass:init",this),(o=null==(n=this.art)||null==(r=n.option)||null==(t=r.subtitle)?void 0:t.url)&&"ass"===this.utils.getExt(o)&&this.switch(o),[2]}})}).call(this)}},{key:"switch",value:function(e){this.art.emit("artplayerPluginLibass:switch",e),e&&"ass"===this.utils.getExt(e)?(this.currentType="ass",this.libass.freeTrack(),this.libass.setTrackByUrl((0,a._)(this,_,T).call(this,e)),this.visible=this.art.subtitle.show):(this.currentType="webvtt",this.hide(),this.libass.freeTrack())}},{key:"setVisibility",value:function(e){this.visible=e}},{key:"setOffset",value:function(e){this.timeOffset=e}},{key:"active",get:function(){return"ass"===this.currentType}},{key:"visible",get:function(){return!!this.libass&&"none"!==this.libass.canvasParent.style.display},set:function(e){this.art.emit("artplayerPluginLibass:visible",e),(0,a._)(this,g,S).call(this,!this.active),this.libass.canvasParent&&(this.libass.canvasParent.style.display=e?"block":"none",e&&this.libass.resize())}},{key:"timeOffset",get:function(){return this.libass.timeOffset},set:function(e){this.art.emit("artplayerPluginLibass:timeOffset",e),this.libass.timeOffset=e}},{key:"show",value:function(){this.visible=!0}},{key:"hide",value:function(){this.visible=!1}},{key:"destroy",value:function(){this.art.emit("artplayerPluginLibass:destroy"),(0,a._)(this,w,L).call(this),this.libass.dispose(),URL.revokeObjectURL(this.workerScriptUrl),this.libass=null}}]),e}();function E(){return(0,i._)(function(){var e,t,r,n,o,i,s,c=arguments;return(0,h._)(this,function(l){switch(l.label){case 0:if(e=this,!(t=c.length>0&&void 0!==c[0]?c[0]:{}).fallbackFont)return[2,this.utils.errorHandle(t.fallbackFont,"artplayerPluginLibass: fallbackFont is required")]Line truncated
|
||||
@@ -1,36 +1,36 @@
|
||||
{
|
||||
"license": "MIT",
|
||||
"version": "1.0.0",
|
||||
"name": "artplayer-plugin-libass",
|
||||
"description": "A powerful ass subtitle renderer `libass-wasm` for ArtPlayer",
|
||||
"main": "dist/artplayer-plugin-libass.js",
|
||||
"legacy": "dist/artplayer-plugin-libass.legacy.js",
|
||||
"module": "dist/artplayer-plugin-libass.esm.js",
|
||||
"types": "types/artplayer-plugin-libass.d.ts",
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-libass.esm.js",
|
||||
"require": "./dist/artplayer-plugin-libass.js",
|
||||
"default": "./dist/artplayer-plugin-libass.js"
|
||||
},
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"dependencies": {
|
||||
"libass-wasm": "^4.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@hrgui/libass-wasm-ts": "^1.0.3"
|
||||
}
|
||||
"name": "artplayer-plugin-libass",
|
||||
"version": "1.0.0",
|
||||
"description": "A powerful ass subtitle renderer `libass-wasm` for ArtPlayer",
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"license": "MIT",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-libass.esm.js",
|
||||
"require": "./dist/artplayer-plugin-libass.js",
|
||||
"default": "./dist/artplayer-plugin-libass.js"
|
||||
},
|
||||
"main": "dist/artplayer-plugin-libass.js",
|
||||
"legacy": "dist/artplayer-plugin-libass.legacy.js",
|
||||
"module": "dist/artplayer-plugin-libass.esm.js",
|
||||
"types": "types/artplayer-plugin-libass.d.ts",
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"dependencies": {
|
||||
"libass-wasm": "^4.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@hrgui/libass-wasm-ts": "^1.0.3"
|
||||
}
|
||||
}
|
||||
@@ -1,138 +1,141 @@
|
||||
import SubtitlesOctopus from 'libass-wasm';
|
||||
import SubtitlesOctopus from 'libass-wasm'
|
||||
|
||||
const defaultAssSubtitle = `[Script Info]\nScriptType: v4.00+`;
|
||||
const defaultAssSubtitle = `[Script Info]\nScriptType: v4.00+`
|
||||
|
||||
export default class LibassAdapter {
|
||||
constructor(art, option) {
|
||||
const { constructor, template } = art;
|
||||
constructor(art, option) {
|
||||
const { constructor, template } = art
|
||||
|
||||
this.art = art;
|
||||
this.$video = template.$video;
|
||||
this.$webvtt = template.$subtitle;
|
||||
this.utils = constructor.utils;
|
||||
this.art = art
|
||||
this.$video = template.$video
|
||||
this.$webvtt = template.$subtitle
|
||||
this.utils = constructor.utils
|
||||
|
||||
this.libass = null;
|
||||
this.libass = null
|
||||
|
||||
art.once('ready', this.init.bind(this, option));
|
||||
art.once('ready', this.init.bind(this, option))
|
||||
}
|
||||
|
||||
async init(option) {
|
||||
this.#checkWebAssemblySupport()
|
||||
|
||||
await this.#createLibass(option)
|
||||
|
||||
this.#addEventListeners()
|
||||
|
||||
this.art.emit('artplayerPluginLibass:init', this)
|
||||
|
||||
// set initial subtitle
|
||||
const initialSubtitle = this.art?.option?.subtitle?.url
|
||||
if (initialSubtitle && this.utils.getExt(initialSubtitle) === 'ass') {
|
||||
this.switch(initialSubtitle)
|
||||
}
|
||||
}
|
||||
|
||||
switch(url) {
|
||||
this.art.emit('artplayerPluginLibass:switch', url)
|
||||
|
||||
if (url && this.utils.getExt(url) === 'ass') {
|
||||
this.currentType = 'ass'
|
||||
this.libass.freeTrack()
|
||||
this.libass.setTrackByUrl(this.#toAbsoluteUrl(url))
|
||||
|
||||
this.visible = this.art.subtitle.show
|
||||
}
|
||||
else {
|
||||
this.currentType = 'webvtt'
|
||||
this.hide()
|
||||
this.libass.freeTrack()
|
||||
}
|
||||
}
|
||||
|
||||
setVisibility(visible) {
|
||||
this.visible = visible
|
||||
}
|
||||
|
||||
setOffset(offset) {
|
||||
this.timeOffset = offset
|
||||
}
|
||||
|
||||
get active() {
|
||||
return this.currentType === 'ass'
|
||||
}
|
||||
|
||||
get visible() {
|
||||
if (!this.libass)
|
||||
return false
|
||||
|
||||
return this.libass.canvasParent.style.display !== 'none'
|
||||
}
|
||||
|
||||
set visible(visible) {
|
||||
this.art.emit('artplayerPluginLibass:visible', visible)
|
||||
|
||||
this.#setVttVisible(!this.active)
|
||||
|
||||
if (this.libass.canvasParent) {
|
||||
this.libass.canvasParent.style.display = visible ? 'block' : 'none'
|
||||
|
||||
if (visible)
|
||||
this.libass.resize()
|
||||
}
|
||||
}
|
||||
|
||||
get timeOffset() {
|
||||
return this.libass.timeOffset
|
||||
}
|
||||
|
||||
set timeOffset(offset) {
|
||||
this.art.emit('artplayerPluginLibass:timeOffset', offset)
|
||||
this.libass.timeOffset = offset
|
||||
}
|
||||
|
||||
show() {
|
||||
this.visible = true
|
||||
}
|
||||
|
||||
hide() {
|
||||
this.visible = false
|
||||
}
|
||||
|
||||
destroy() {
|
||||
this.art.emit('artplayerPluginLibass:destroy')
|
||||
|
||||
this.#removeEventListeners()
|
||||
|
||||
this.libass.dispose()
|
||||
URL.revokeObjectURL(this.workerScriptUrl)
|
||||
this.libass = null
|
||||
}
|
||||
|
||||
async #createLibass(option = {}) {
|
||||
if (!option.fallbackFont) {
|
||||
return this.utils.errorHandle(option.fallbackFont, 'artplayerPluginLibass: fallbackFont is required')
|
||||
}
|
||||
|
||||
async init(option) {
|
||||
this.#checkWebAssemblySupport();
|
||||
|
||||
await this.#createLibass(option);
|
||||
|
||||
this.#addEventListeners();
|
||||
|
||||
this.art.emit('artplayerPluginLibass:init', this);
|
||||
|
||||
// set initial subtitle
|
||||
const initialSubtitle = this.art?.option?.subtitle?.url;
|
||||
if (initialSubtitle && this.utils.getExt(initialSubtitle) === 'ass') {
|
||||
this.switch(initialSubtitle);
|
||||
}
|
||||
if (!option.workerUrl) {
|
||||
option.workerUrl
|
||||
= 'https://cdnjs.cloudflare.com/ajax/libs/libass-wasm/4.1.0/js/subtitles-octopus-worker.js'
|
||||
}
|
||||
|
||||
switch(url) {
|
||||
this.art.emit('artplayerPluginLibass:switch', url);
|
||||
|
||||
if (url && this.utils.getExt(url) === 'ass') {
|
||||
this.currentType = 'ass';
|
||||
this.libass.freeTrack();
|
||||
this.libass.setTrackByUrl(this.#toAbsoluteUrl(url));
|
||||
|
||||
this.visible = this.art.subtitle.show;
|
||||
} else {
|
||||
this.currentType = 'webvtt';
|
||||
this.hide();
|
||||
this.libass.freeTrack();
|
||||
}
|
||||
if (option.availableFonts) {
|
||||
option.availableFonts = Object.entries(option.availableFonts).reduce((acc, [key, value]) => {
|
||||
acc[key] = this.#toAbsoluteUrl(value)
|
||||
return acc
|
||||
}, {})
|
||||
}
|
||||
|
||||
setVisibility(visible) {
|
||||
this.visible = visible;
|
||||
}
|
||||
this.libass = new SubtitlesOctopus({
|
||||
subContent: defaultAssSubtitle,
|
||||
video: this.$video,
|
||||
...option,
|
||||
workerUrl: await this.#loadWorker(option),
|
||||
fallbackFont: this.#toAbsoluteUrl(option.fallbackFont),
|
||||
fonts: option.fonts?.map(font => this.#toAbsoluteUrl(font)),
|
||||
})
|
||||
|
||||
setOffset(offset) {
|
||||
this.timeOffset = offset;
|
||||
}
|
||||
|
||||
get active() {
|
||||
return this.currentType === 'ass';
|
||||
}
|
||||
|
||||
get visible() {
|
||||
if (!this.libass) return false;
|
||||
|
||||
return this.libass.canvasParent.style.display !== 'none';
|
||||
}
|
||||
|
||||
set visible(visible) {
|
||||
this.art.emit('artplayerPluginLibass:visible', visible);
|
||||
|
||||
this.#setVttVisible(!this.active);
|
||||
|
||||
if (this.libass.canvasParent) {
|
||||
this.libass.canvasParent.style.display = visible ? 'block' : 'none';
|
||||
|
||||
if (visible) this.libass.resize();
|
||||
}
|
||||
}
|
||||
|
||||
get timeOffset() {
|
||||
return this.libass.timeOffset;
|
||||
}
|
||||
|
||||
set timeOffset(offset) {
|
||||
this.art.emit('artplayerPluginLibass:timeOffset', offset);
|
||||
this.libass.timeOffset = offset;
|
||||
}
|
||||
|
||||
show() {
|
||||
this.visible = true;
|
||||
}
|
||||
|
||||
hide() {
|
||||
this.visible = false;
|
||||
}
|
||||
|
||||
destroy() {
|
||||
this.art.emit('artplayerPluginLibass:destroy');
|
||||
|
||||
this.#removeEventListeners();
|
||||
|
||||
this.libass.dispose();
|
||||
URL.revokeObjectURL(this.workerScriptUrl);
|
||||
this.libass = null;
|
||||
}
|
||||
|
||||
async #createLibass(option = {}) {
|
||||
if (!option.fallbackFont) {
|
||||
return this.utils.errorHandle(option.fallbackFont, 'artplayerPluginLibass: fallbackFont is required');
|
||||
}
|
||||
|
||||
if (!option.workerUrl) {
|
||||
option.workerUrl =
|
||||
'https://cdnjs.cloudflare.com/ajax/libs/libass-wasm/4.1.0/js/subtitles-octopus-worker.js';
|
||||
}
|
||||
|
||||
if (option.availableFonts) {
|
||||
option.availableFonts = Object.entries(option.availableFonts).reduce((acc, [key, value]) => {
|
||||
acc[key] = this.#toAbsoluteUrl(value);
|
||||
return acc;
|
||||
}, {});
|
||||
}
|
||||
|
||||
this.libass = new SubtitlesOctopus({
|
||||
subContent: defaultAssSubtitle,
|
||||
video: this.$video,
|
||||
...option,
|
||||
workerUrl: await this.#loadWorker(option),
|
||||
fallbackFont: this.#toAbsoluteUrl(option.fallbackFont),
|
||||
fonts: option.fonts?.map((font) => this.#toAbsoluteUrl(font)),
|
||||
});
|
||||
|
||||
this.libass.canvasParent.className = 'artplayer-plugin-libass';
|
||||
this.libass.canvasParent.style.cssText = `
|
||||
this.libass.canvasParent.className = 'artplayer-plugin-libass'
|
||||
this.libass.canvasParent.style.cssText = `
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
@@ -140,82 +143,84 @@ export default class LibassAdapter {
|
||||
height: 100%;
|
||||
user-select: none;
|
||||
pointer-events: none;
|
||||
z-index: 20;`;
|
||||
z-index: 20;`
|
||||
}
|
||||
|
||||
#addEventListeners() {
|
||||
this.switchHandler = this.switch.bind(this)
|
||||
this.visibleHandler = this.setVisibility.bind(this)
|
||||
this.offsetHandler = this.setOffset.bind(this)
|
||||
|
||||
this.art.on('subtitle', this.visibleHandler)
|
||||
this.art.on('subtitleLoad', this.switchHandler)
|
||||
this.art.on('subtitleOffset', this.offsetHandler)
|
||||
|
||||
this.art.once('destroy', this.destroy.bind(this))
|
||||
}
|
||||
|
||||
#removeEventListeners() {
|
||||
this.art.off('subtitle', this.visibleHandler)
|
||||
this.art.off('subtitleLoad', this.switchHandler)
|
||||
this.art.off('subtitleOffset', this.offsetHandler)
|
||||
}
|
||||
|
||||
#setVttVisible(visible) {
|
||||
this.$webvtt.style.visibility = visible ? 'visible' : 'hidden'
|
||||
}
|
||||
|
||||
#toAbsoluteUrl(url) {
|
||||
if (this.#isAbsoluteUrl(url))
|
||||
return url
|
||||
|
||||
// handle absolute URL when the `Worker` of `BLOB` type loading network resources
|
||||
return new URL(url, document.baseURI).toString()
|
||||
}
|
||||
|
||||
#isAbsoluteUrl(url) {
|
||||
return /^https?:\/\//.test(url)
|
||||
}
|
||||
|
||||
#loadWorker({ workerUrl, wasmUrl }) {
|
||||
return new Promise((resolve) => {
|
||||
fetch(workerUrl)
|
||||
.then(res => res.text())
|
||||
.then((text) => {
|
||||
let workerScriptContent = text
|
||||
|
||||
workerScriptContent = workerScriptContent.replace(
|
||||
/wasmBinaryFile\s*=\s*"(subtitles-octopus-worker\.wasm)"/g,
|
||||
(_match, wasm) => {
|
||||
if (!wasmUrl) {
|
||||
wasmUrl = new URL(wasm, workerUrl).toString()
|
||||
}
|
||||
else {
|
||||
wasmUrl = this.#toAbsoluteUrl(wasmUrl)
|
||||
}
|
||||
|
||||
return `wasmBinaryFile = "${wasmUrl}"`
|
||||
},
|
||||
)
|
||||
|
||||
const workerBlob = new Blob([workerScriptContent], { type: 'text/javascript' })
|
||||
resolve(URL.createObjectURL(workerBlob))
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
#checkWebAssemblySupport() {
|
||||
let supportsWebAssembly = false
|
||||
try {
|
||||
if (typeof WebAssembly === 'object' && typeof WebAssembly.instantiate === 'function') {
|
||||
const module = new WebAssembly.Module(Uint8Array.of(0x0, 0x61, 0x73, 0x6D, 0x01, 0x00, 0x00, 0x00))
|
||||
if (module instanceof WebAssembly.Module)
|
||||
supportsWebAssembly = new WebAssembly.Instance(module) instanceof WebAssembly.Instance
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
console.error('WebAssembly is not supported in this browser.', error)
|
||||
supportsWebAssembly = false
|
||||
}
|
||||
|
||||
#addEventListeners() {
|
||||
this.switchHandler = this.switch.bind(this);
|
||||
this.visibleHandler = this.setVisibility.bind(this);
|
||||
this.offsetHandler = this.setOffset.bind(this);
|
||||
|
||||
this.art.on('subtitle', this.visibleHandler);
|
||||
this.art.on('subtitleLoad', this.switchHandler);
|
||||
this.art.on('subtitleOffset', this.offsetHandler);
|
||||
|
||||
this.art.once('destroy', this.destroy.bind(this));
|
||||
}
|
||||
|
||||
#removeEventListeners() {
|
||||
this.art.off('subtitle', this.visibleHandler);
|
||||
this.art.off('subtitleLoad', this.switchHandler);
|
||||
this.art.off('subtitleOffset', this.offsetHandler);
|
||||
}
|
||||
|
||||
#setVttVisible(visible) {
|
||||
this.$webvtt.style.visibility = visible ? 'visible' : 'hidden';
|
||||
}
|
||||
|
||||
#toAbsoluteUrl(url) {
|
||||
if (this.#isAbsoluteUrl(url)) return url;
|
||||
|
||||
// handle absolute URL when the `Worker` of `BLOB` type loading network resources
|
||||
return new URL(url, document.baseURI).toString();
|
||||
}
|
||||
|
||||
#isAbsoluteUrl(url) {
|
||||
return /^https?:\/\//.test(url);
|
||||
}
|
||||
|
||||
#loadWorker({ workerUrl, wasmUrl }) {
|
||||
return new Promise((resolve) => {
|
||||
fetch(workerUrl)
|
||||
.then((res) => res.text())
|
||||
.then((text) => {
|
||||
let workerScriptContent = text;
|
||||
|
||||
workerScriptContent = workerScriptContent.replace(
|
||||
/wasmBinaryFile\s*=\s*"(subtitles-octopus-worker\.wasm)"/g,
|
||||
(_match, wasm) => {
|
||||
if (!wasmUrl) {
|
||||
wasmUrl = new URL(wasm, workerUrl).toString();
|
||||
} else {
|
||||
wasmUrl = this.#toAbsoluteUrl(wasmUrl);
|
||||
}
|
||||
|
||||
return `wasmBinaryFile = "${wasmUrl}"`;
|
||||
},
|
||||
);
|
||||
|
||||
const workerBlob = new Blob([workerScriptContent], { type: 'text/javascript' });
|
||||
resolve(URL.createObjectURL(workerBlob));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
#checkWebAssemblySupport() {
|
||||
let supportsWebAssembly = false;
|
||||
try {
|
||||
if (typeof WebAssembly === 'object' && typeof WebAssembly.instantiate === 'function') {
|
||||
const module = new WebAssembly.Module(Uint8Array.of(0x0, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00));
|
||||
if (module instanceof WebAssembly.Module)
|
||||
supportsWebAssembly = new WebAssembly.Instance(module) instanceof WebAssembly.Instance;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
} catch (error) {
|
||||
//
|
||||
}
|
||||
|
||||
this.utils.errorHandle(supportsWebAssembly, 'Browser does not support WebAssembly');
|
||||
}
|
||||
this.utils.errorHandle(supportsWebAssembly, 'Browser does not support WebAssembly')
|
||||
}
|
||||
}
|
||||
@@ -1,21 +1,21 @@
|
||||
import LibassAdapter from './adapter';
|
||||
import LibassAdapter from './adapter'
|
||||
|
||||
export default function artplayerPluginLibass(option) {
|
||||
return (art) => {
|
||||
const adapter = new LibassAdapter(art, option);
|
||||
return {
|
||||
name: 'artplayerPluginLibass',
|
||||
libass: adapter.libass,
|
||||
visible: adapter.visible,
|
||||
init: adapter.init.bind(adapter),
|
||||
switch: adapter.switch.bind(adapter),
|
||||
show: adapter.show.bind(adapter),
|
||||
hide: adapter.hide.bind(adapter),
|
||||
destroy: adapter.destroy.bind(adapter),
|
||||
};
|
||||
};
|
||||
return (art) => {
|
||||
const adapter = new LibassAdapter(art, option)
|
||||
return {
|
||||
name: 'artplayerPluginLibass',
|
||||
libass: adapter.libass,
|
||||
visible: adapter.visible,
|
||||
init: adapter.init.bind(adapter),
|
||||
switch: adapter.switch.bind(adapter),
|
||||
show: adapter.show.bind(adapter),
|
||||
hide: adapter.hide.bind(adapter),
|
||||
destroy: adapter.destroy.bind(adapter),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window['artplayerPluginLibass'] = artplayerPluginLibass;
|
||||
window.artplayerPluginLibass = artplayerPluginLibass
|
||||
}
|
||||
@@ -1,17 +1,17 @@
|
||||
import type Artplayer from 'artplayer';
|
||||
import type SubtitlesOctopus from '@hrgui/libass-wasm-ts';
|
||||
import { type Options } from 'libass-wasm';
|
||||
import type SubtitlesOctopus from '@hrgui/libass-wasm-ts'
|
||||
import type Artplayer from 'artplayer'
|
||||
import type { Options } from 'libass-wasm'
|
||||
|
||||
export = artplayerPluginAss;
|
||||
export = artplayerPluginAss
|
||||
export as namespace artplayerPluginAss;
|
||||
|
||||
declare const artplayerPluginAss: (options: Options) => (art: Artplayer) => {
|
||||
name: 'artplayerPluginLibass';
|
||||
libass: SubtitlesOctopus;
|
||||
visible: boolean;
|
||||
init: () => void;
|
||||
switch: (url: string) => void;
|
||||
show: () => void;
|
||||
hide: () => void;
|
||||
destroy: () => void;
|
||||
};
|
||||
name: 'artplayerPluginLibass'
|
||||
libass: SubtitlesOctopus
|
||||
visible: boolean
|
||||
init: () => void
|
||||
switch: (url: string) => void
|
||||
show: () => void
|
||||
hide: () => void
|
||||
destroy: () => void
|
||||
}
|
||||
Vendored
+1
-1
@@ -5,5 +5,5 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,n,i,r,a,o,s){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof l[i]&&l[i],f=u.i||{},d=u.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!d[t]){if(!e[t]){if(r[t])return r[t];var a="function"==typeof l[i]&&l[i];if(!n&&a)return a(t,!0);if(u)return u(t,!0);if(c&&"string"==typeof t)return c(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}f.resolve=function(n){var i=e[t][1][n];return null!=i?i:n},f.cache={};var s=d[t]=new p.Module(t);e[t][0].call(s.exports,f,s,s.exports,l)}return d[t].exports;function f(e){var t=f.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=c,this.exports={}},p.modules=e,p.cache=d,p.parent=u,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=f,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return l[i]}}),l[i]=p;for(var m=0;m<t.length;m++)p(t[m]);if(n){var g=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({"4omrA":[function(e,t,n,i){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n),r.export(n,"default",()=>s);var a=e("./parser");async function o(e,{getExt:t,srtToVtt:n,assToVtt:i}){let r=await fetch(e.url),a=await r.arrayBuffer(),o=new TextDecoder(e.encoding||"utf-8").decode(a);switch(e.type||t(e.url)){case"srt":return n(o);case"ass":return i(o);case"vtt":return o;default:return""}}function s({subtitles:e=[]}){return async t=>{let{unescape:n,getExt:i,srtToVtt:r,assToVtt:s}=t.constructor.utils,l=new(0,a.WebVTTParser),u=new(0,a.WebVTTSerializer),f=(await Promise.all(e.map(e=>o(e,{getExt:i,srtToVtt:r,assToVtt:s})))).map((t,n)=>{let i=l.parse(t,"metadata");return i.url=e[n].url,i.name=e[n].name,i}),d="";function c(e=[]){let i=function(e){let t=new(0,a.WebVTTParser)().parse("","metadata");for(let n=0;n<e.length;n++){let i=e[n];if(!i.updated){i.updated=!0;for(let e=0;e<i.cues.length;e++){let t=i.cues[e];for(let e=0;e<t.tree.children.length;e++){let n=t.tree.children[e];n.value=`<div class="art-subtitle-${i.name}">${n.value}</div>`}}}t.cues.push(...i.cues)}return t}(e),r=u.serialize(i.cues);URL.revokeObjectURL(d);let o=URL.createObjectURL(new Blob([r],{type:"text/vtt"}));d=o,t.option.subtitle.escape=!1,t.subtitle.init({...t.option.subtitle,url:o,type:"vtt",onVttLoad:n})}return c(f),{name:"multipleSubtitles",tracks:(e=[])=>c(e.map(e=>f.find(t=>t.name===e))),reset:()=>c(f)}}}"undefined"!=typeof window&&(window.artplayerPluginMultipleSubtitles=s)},{"./parser":"7NrDJ","@parcel/transformer-js/src/esmodule-helpers.js":"w4pLy"}],"7NrDJ":[function(e,t,n,i){!function(){var e={direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center"},t=function(t){t||(t={"&":"&","<":"<",">":">","&lrm":"","&rlm":""," ":" "}),this.entities=t,this.parse=function(n,a){n=n.replace(/\0/g,"�");var o=Date.now(),s=0,l=n.split(/\r\n|\r|\n/),u=!1,f=[],d=[],c=[];function p(e,t){c.push({message:e,line:s+1,col:t})}var m=l[s],g=m.length,v="WEBVTT",h=0,b=v.length;for("\uFEFF"===m[0]&&(h=1,b+=1),(g<b||m.indexOf(v)!==0+h||g>b&&" "!==m[b]&&" "!==m[b])&&p('No valid signature. (File needs to start with "WEBVTT".)'),s++;""!=l[s]&&void 0!=l[s];){if(p("No blank line after the signature."),-1!=l[s].indexOf("--\x3e")){u=!0;break}s++}for(;void 0!=l[s];){for(;!u&&""==l[s];)s++;if(!u&&void 0==l[s])break;var T=Object.assign({},e,{id:"",startTime:0,endTime:0,pauseOnExit:!1,direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center",text:"",tree:null}),y=!0;if(-1==l[s].indexOf("--\x3e")){if(T.id=l[s],/^NOTE($|[ \t])/.test(T.id)){for(s++;""!=l[s]&&void 0!=l[s];)-1!=l[s].indexOf("--\x3e")&&p("Cannot have timestamp in a comment."),s++;continue}if(/^STYLE($|[ \t])/.test(T.id)){var x=[],w=!1;for(s++;""!=l[s]&&void 0!=l[s];)-1!=l[s].indexOf("--\x3e")&&(p("Cannot have timestamp in a style block."),w=!0),x.push(l[s]),s++;if(d.length){p("Style blocks cannot appear after the first cue.");continue}w||f.push(x.join("\n"));continue}if(""==l[++s]||void 0==l[s]){p("Cue identifier cannot be standalone.");continue}if(-1==l[s].indexOf("--\x3e")){y=!1,p("Cue identifier needs to be followed by timestamp.");continue}}u=!1;var O=new i(l[s],p),P=0;if(d.length>0&&(P=d[d.length-1].startTime),y&&!O.parse(T,P)){for(T=null,s++;""!=l[s]&&void 0!=l[s];){if(-1!=l[s].indexOf("--\x3e")){u=!0;break}s++}continue}for(s++;""!=l[s]&&void 0!=l[s];){if(-1!=l[s].indexOf("--\x3e")){p("Blank line missing before cue."),u=!0;break}""!=T.text&&(T.text+="\n"),T.text+=l[s],s++}var A=new r(T.text,p,a,t);T.tree=A.parse(T.startLine truncated
|
||||
!function(e,t,n,i,r,a,o,s){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof l[i]&&l[i],f=u.i||{},d=u.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!d[t]){if(!e[t]){if(r[t])return r[t];var a="function"==typeof l[i]&&l[i];if(!n&&a)return a(t,!0);if(u)return u(t,!0);if(c&&"string"==typeof t)return c(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}f.resolve=function(n){var i=e[t][1][n];return null!=i?i:n},f.cache={};var s=d[t]=new p.Module(t);e[t][0].call(s.exports,f,s,s.exports,l)}return d[t].exports;function f(e){var t=f.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=c,this.exports={}},p.modules=e,p.cache=d,p.parent=u,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=f,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return l[i]}}),l[i]=p;for(var m=0;m<t.length;m++)p(t[m]);if(n){var g=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({"3MgS1":[function(e,t,n,i){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n),r.export(n,"default",()=>s);var a=e("./parser");async function o(e,{getExt:t,srtToVtt:n,assToVtt:i}){let r=await fetch(e.url),a=await r.arrayBuffer(),o=new TextDecoder(e.encoding||"utf-8").decode(a);switch(e.type||t(e.url)){case"srt":return n(o);case"ass":return i(o);case"vtt":return o;default:return""}}function s({subtitles:e=[]}){return async t=>{let{unescape:n,getExt:i,srtToVtt:r,assToVtt:s}=t.constructor.utils,l=new(0,a.WebVTTParser),u=new(0,a.WebVTTSerializer),f=(await Promise.all(e.map(e=>o(e,{getExt:i,srtToVtt:r,assToVtt:s})))).map((t,n)=>{let i=l.parse(t,"metadata");return i.url=e[n].url,i.name=e[n].name,i}),d="";function c(e=[]){let i=function(e){let t=new(0,a.WebVTTParser)().parse("","metadata");for(let n=0;n<e.length;n++){let i=e[n];if(!i.updated){i.updated=!0;for(let e=0;e<i.cues.length;e++){let t=i.cues[e];for(let e=0;e<t.tree.children.length;e++){let n=t.tree.children[e];n.value=`<div class="art-subtitle-${i.name}">${n.value}</div>`}}}t.cues.push(...i.cues)}return t}(e),r=u.serialize(i.cues);URL.revokeObjectURL(d);let o=URL.createObjectURL(new Blob([r],{type:"text/vtt"}));d=o,t.option.subtitle.escape=!1,t.subtitle.init({...t.option.subtitle,url:o,type:"vtt",onVttLoad:n})}return c(f),{name:"multipleSubtitles",tracks:(e=[])=>c(e.map(e=>f.find(t=>t.name===e))),reset:()=>c(f)}}}"undefined"!=typeof window&&(window.artplayerPluginMultipleSubtitles=s)},{"./parser":"01rPS","@parcel/transformer-js/src/esmodule-helpers.js":"5lQoW"}],"01rPS":[function(e,t,n,i){!function(){var e={direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center"},t=function(t){t||(t={"&":"&","<":"<",">":">","&lrm":"","&rlm":""," ":" "}),this.entities=t,this.parse=function(n,a){n=n.replace(/\0/g,"�");var o=Date.now(),s=0,l=n.split(/\r\n|\r|\n/),u=!1,f=[],d=[],c=[];function p(e,t){c.push({message:e,line:s+1,col:t})}var m=l[s],g=m.length,v="WEBVTT",h=0,b=v.length;for("\uFEFF"===m[0]&&(h=1,b+=1),(g<b||m.indexOf(v)!==0+h||g>b&&" "!==m[b]&&" "!==m[b])&&p('No valid signature. (File needs to start with "WEBVTT".)'),s++;""!=l[s]&&void 0!=l[s];){if(p("No blank line after the signature."),-1!=l[s].indexOf("--\x3e")){u=!0;break}s++}for(;void 0!=l[s];){for(;!u&&""==l[s];)s++;if(!u&&void 0==l[s])break;var T=Object.assign({},e,{id:"",startTime:0,endTime:0,pauseOnExit:!1,direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center",text:"",tree:null}),x=!0;if(-1==l[s].indexOf("--\x3e")){if(T.id=l[s],/^NOTE($|[ \t])/.test(T.id)){for(s++;""!=l[s]&&void 0!=l[s];)-1!=l[s].indexOf("--\x3e")&&p("Cannot have timestamp in a comment."),s++;continue}if(/^STYLE($|[ \t])/.test(T.id)){var y=[],w=!1;for(s++;""!=l[s]&&void 0!=l[s];)-1!=l[s].indexOf("--\x3e")&&(p("Cannot have timestamp in a style block."),w=!0),y.push(l[s]),s++;if(d.length){p("Style blocks cannot appear after the first cue.");continue}w||f.push(y.join("\n"));continue}if(""==l[++s]||void 0==l[s]){p("Cue identifier cannot be standalone.");continue}if(-1==l[s].indexOf("--\x3e")){x=!1,p("Cue identifier needs to be followed by timestamp.");continue}}u=!1;var O=new i(l[s],p),S=0;if(d.length>0&&(S=d[d.length-1].startTime),x&&!O.parse(T,S)){for(T=null,s++;""!=l[s]&&void 0!=l[s];){if(-1!=l[s].indexOf("--\x3e")){u=!0;break}s++}continue}for(s++;""!=l[s]&&void 0!=l[s];){if(-1!=l[s].indexOf("--\x3e")){p("Blank line missing before cue."),u=!0;break}""!=T.text&&(T.text+="\n"),T.text+=l[s],s++}var P=new r(T.text,p,a,t);T.tree=P.parse(T.startLine truncated
|
||||
//# sourceMappingURL=artplayer-plugin-multiple-subtitles.esm.js.map
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GC8CwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GA9CxB,IAAA,EAAA,EAAA,YAEA,eAAe,EAAQ,CAAM,CAAE,CAAE,OAAA,CAAM,CAAE,SAAA,CAAQ,CAAE,SAAA,CAAQ,CAAE,EACzD,IAAM,EAAW,MAAM,MAAM,EAAO,GAAG,EACjC,EAAS,MAAM,EAAS,WAAW,GAEnC,EAAO,AADG,IAAI,YAAY,EAAO,QAAQ,EAAI,SAC9B,MAAM,CAAC,GAC5B,OAAQ,EAAO,IAAI,EAAI,EAAO,EAAO,GAAG,GACpC,IAAK,MACD,OAAO,EAAS,EAEpB,KAAK,MACD,OA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 truncated
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GC8CwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GA9CxB,IAAA,EAAA,EAAA,YAEA,eAAe,EAAQ,CAAM,CAAE,CAAE,OAAA,CAAM,CAAE,SAAA,CAAQ,CAAE,SAAA,CAAQ,CAAE,EAC3D,IAAM,EAAW,MAAM,MAAM,EAAO,GAAG,EACjC,EAAS,MAAM,EAAS,WAAW,GAEnC,EAAO,AADG,IAAI,YAAY,EAAO,QAAQ,EAAI,SAC9B,MAAM,CAAC,GAC5B,OAAQ,EAAO,IAAI,EAAI,EAAO,EAAO,GAAG,GACtC,IAAK,MACH,OAAO,EAAS,EAElB,KAAK,MACH,OA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 truncated
|
||||
+1
-1
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,n,i,r,a,o,s){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof l[i]&&l[i],f=u.i||{},d=u.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!d[t]){if(!e[t]){if(r[t])return r[t];var a="function"==typeof l[i]&&l[i];if(!n&&a)return a(t,!0);if(u)return u(t,!0);if(c&&"string"==typeof t)return c(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}f.resolve=function(n){var i=e[t][1][n];return null!=i?i:n},f.cache={};var s=d[t]=new p.Module(t);e[t][0].call(s.exports,f,s,s.exports,l)}return d[t].exports;function f(e){var t=f.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=c,this.exports={}},p.modules=e,p.cache=d,p.parent=u,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=f,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return l[i]}}),l[i]=p;for(var m=0;m<t.length;m++)p(t[m]);if(n){var g=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({jz4E5:[function(e,t,n,i){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n),r.export(n,"default",()=>s);var a=e("./parser");async function o(e,{getExt:t,srtToVtt:n,assToVtt:i}){let r=await fetch(e.url),a=await r.arrayBuffer(),o=new TextDecoder(e.encoding||"utf-8").decode(a);switch(e.type||t(e.url)){case"srt":return n(o);case"ass":return i(o);case"vtt":return o;default:return""}}function s({subtitles:e=[]}){return async t=>{let{unescape:n,getExt:i,srtToVtt:r,assToVtt:s}=t.constructor.utils,l=new(0,a.WebVTTParser),u=new(0,a.WebVTTSerializer),f=(await Promise.all(e.map(e=>o(e,{getExt:i,srtToVtt:r,assToVtt:s})))).map((t,n)=>{let i=l.parse(t,"metadata");return i.url=e[n].url,i.name=e[n].name,i}),d="";function c(e=[]){let i=function(e){let t=new(0,a.WebVTTParser)().parse("","metadata");for(let n=0;n<e.length;n++){let i=e[n];if(!i.updated){i.updated=!0;for(let e=0;e<i.cues.length;e++){let t=i.cues[e];for(let e=0;e<t.tree.children.length;e++){let n=t.tree.children[e];n.value=`<div class="art-subtitle-${i.name}">${n.value}</div>`}}}t.cues.push(...i.cues)}return t}(e),r=u.serialize(i.cues);URL.revokeObjectURL(d);let o=URL.createObjectURL(new Blob([r],{type:"text/vtt"}));d=o,t.option.subtitle.escape=!1,t.subtitle.init({...t.option.subtitle,url:o,type:"vtt",onVttLoad:n})}return c(f),{name:"multipleSubtitles",tracks:(e=[])=>c(e.map(e=>f.find(t=>t.name===e))),reset:()=>c(f)}}}"undefined"!=typeof window&&(window.artplayerPluginMultipleSubtitles=s)},{"./parser":"avlNp","@parcel/transformer-js/src/esmodule-helpers.js":"7o2zS"}],avlNp:[function(e,t,n,i){!function(){var e={direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center"},t=function(t){t||(t={"&":"&","<":"<",">":">","&lrm":"","&rlm":""," ":" "}),this.entities=t,this.parse=function(n,a){n=n.replace(/\0/g,"�");var o=Date.now(),s=0,l=n.split(/\r\n|\r|\n/),u=!1,f=[],d=[],c=[];function p(e,t){c.push({message:e,line:s+1,col:t})}var m=l[s],g=m.length,v="WEBVTT",h=0,b=v.length;for("\uFEFF"===m[0]&&(h=1,b+=1),(g<b||m.indexOf(v)!==0+h||g>b&&" "!==m[b]&&" "!==m[b])&&p('No valid signature. (File needs to start with "WEBVTT".)'),s++;""!=l[s]&&void 0!=l[s];){if(p("No blank line after the signature."),-1!=l[s].indexOf("--\x3e")){u=!0;break}s++}for(;void 0!=l[s];){for(;!u&&""==l[s];)s++;if(!u&&void 0==l[s])break;var T=Object.assign({},e,{id:"",startTime:0,endTime:0,pauseOnExit:!1,direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center",text:"",tree:null}),y=!0;if(-1==l[s].indexOf("--\x3e")){if(T.id=l[s],/^NOTE($|[ \t])/.test(T.id)){for(s++;""!=l[s]&&void 0!=l[s];)-1!=l[s].indexOf("--\x3e")&&p("Cannot have timestamp in a comment."),s++;continue}if(/^STYLE($|[ \t])/.test(T.id)){var x=[],w=!1;for(s++;""!=l[s]&&void 0!=l[s];)-1!=l[s].indexOf("--\x3e")&&(p("Cannot have timestamp in a style block."),w=!0),x.push(l[s]),s++;if(d.length){p("Style blocks cannot appear after the first cue.");continue}w||f.push(x.join("\n"));continue}if(""==l[++s]||void 0==l[s]){p("Cue identifier cannot be standalone.");continue}if(-1==l[s].indexOf("--\x3e")){y=!1,p("Cue identifier needs to be followed by timestamp.");continue}}u=!1;var O=new i(l[s],p),j=0;if(d.length>0&&(j=d[d.length-1].startTime),y&&!O.parse(T,j)){for(T=null,s++;""!=l[s]&&void 0!=l[s];){if(-1!=l[s].indexOf("--\x3e")){u=!0;break}s++}continue}for(s++;""!=l[s]&&void 0!=l[s];){if(-1!=l[s].indexOf("--\x3e")){p("Blank line missing before cue."),u=!0;break}""!=T.text&&(T.text+="\n"),T.text+=l[s],s++}var z=new r(T.text,p,a,t);T.tree=z.parse(T.startTimeLine truncated
|
||||
!function(e,t,n,i,r,a,o,s){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof l[i]&&l[i],f=u.i||{},d=u.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(t,n){if(!d[t]){if(!e[t]){if(r[t])return r[t];var a="function"==typeof l[i]&&l[i];if(!n&&a)return a(t,!0);if(u)return u(t,!0);if(c&&"string"==typeof t)return c(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}f.resolve=function(n){var i=e[t][1][n];return null!=i?i:n},f.cache={};var s=d[t]=new p.Module(t);e[t][0].call(s.exports,f,s,s.exports,l)}return d[t].exports;function f(e){var t=f.resolve(e);return!1===t?{}:p(t)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.require=c,this.exports={}},p.modules=e,p.cache=d,p.parent=u,p.distDir=void 0,p.publicUrl=void 0,p.devServer=void 0,p.i=f,p.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(p,"root",{get:function(){return l[i]}}),l[i]=p;for(var m=0;m<t.length;m++)p(t[m]);if(n){var g=p(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=g:"function"==typeof define&&define.amd&&define(function(){return g})}}({bY7Hk:[function(e,t,n,i){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n),r.export(n,"default",()=>s);var a=e("./parser");async function o(e,{getExt:t,srtToVtt:n,assToVtt:i}){let r=await fetch(e.url),a=await r.arrayBuffer(),o=new TextDecoder(e.encoding||"utf-8").decode(a);switch(e.type||t(e.url)){case"srt":return n(o);case"ass":return i(o);case"vtt":return o;default:return""}}function s({subtitles:e=[]}){return async t=>{let{unescape:n,getExt:i,srtToVtt:r,assToVtt:s}=t.constructor.utils,l=new(0,a.WebVTTParser),u=new(0,a.WebVTTSerializer),f=(await Promise.all(e.map(e=>o(e,{getExt:i,srtToVtt:r,assToVtt:s})))).map((t,n)=>{let i=l.parse(t,"metadata");return i.url=e[n].url,i.name=e[n].name,i}),d="";function c(e=[]){let i=function(e){let t=new(0,a.WebVTTParser)().parse("","metadata");for(let n=0;n<e.length;n++){let i=e[n];if(!i.updated){i.updated=!0;for(let e=0;e<i.cues.length;e++){let t=i.cues[e];for(let e=0;e<t.tree.children.length;e++){let n=t.tree.children[e];n.value=`<div class="art-subtitle-${i.name}">${n.value}</div>`}}}t.cues.push(...i.cues)}return t}(e),r=u.serialize(i.cues);URL.revokeObjectURL(d);let o=URL.createObjectURL(new Blob([r],{type:"text/vtt"}));d=o,t.option.subtitle.escape=!1,t.subtitle.init({...t.option.subtitle,url:o,type:"vtt",onVttLoad:n})}return c(f),{name:"multipleSubtitles",tracks:(e=[])=>c(e.map(e=>f.find(t=>t.name===e))),reset:()=>c(f)}}}"undefined"!=typeof window&&(window.artplayerPluginMultipleSubtitles=s)},{"./parser":"je6kr","@parcel/transformer-js/src/esmodule-helpers.js":"6ykb1"}],je6kr:[function(e,t,n,i){!function(){var e={direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center"},t=function(t){t||(t={"&":"&","<":"<",">":">","&lrm":"","&rlm":""," ":" "}),this.entities=t,this.parse=function(n,a){n=n.replace(/\0/g,"�");var o=Date.now(),s=0,l=n.split(/\r\n|\r|\n/),u=!1,f=[],d=[],c=[];function p(e,t){c.push({message:e,line:s+1,col:t})}var m=l[s],g=m.length,v="WEBVTT",h=0,b=v.length;for("\uFEFF"===m[0]&&(h=1,b+=1),(g<b||m.indexOf(v)!==0+h||g>b&&" "!==m[b]&&" "!==m[b])&&p('No valid signature. (File needs to start with "WEBVTT".)'),s++;""!=l[s]&&void 0!=l[s];){if(p("No blank line after the signature."),-1!=l[s].indexOf("--\x3e")){u=!0;break}s++}for(;void 0!=l[s];){for(;!u&&""==l[s];)s++;if(!u&&void 0==l[s])break;var T=Object.assign({},e,{id:"",startTime:0,endTime:0,pauseOnExit:!1,direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center",text:"",tree:null}),y=!0;if(-1==l[s].indexOf("--\x3e")){if(T.id=l[s],/^NOTE($|[ \t])/.test(T.id)){for(s++;""!=l[s]&&void 0!=l[s];)-1!=l[s].indexOf("--\x3e")&&p("Cannot have timestamp in a comment."),s++;continue}if(/^STYLE($|[ \t])/.test(T.id)){var x=[],w=!1;for(s++;""!=l[s]&&void 0!=l[s];)-1!=l[s].indexOf("--\x3e")&&(p("Cannot have timestamp in a style block."),w=!0),x.push(l[s]),s++;if(d.length){p("Style blocks cannot appear after the first cue.");continue}w||f.push(x.join("\n"));continue}if(""==l[++s]||void 0==l[s]){p("Cue identifier cannot be standalone.");continue}if(-1==l[s].indexOf("--\x3e")){y=!1,p("Cue identifier needs to be followed by timestamp.");continue}}u=!1;var O=new i(l[s],p),P=0;if(d.length>0&&(P=d[d.length-1].startTime),y&&!O.parse(T,P)){for(T=null,s++;""!=l[s]&&void 0!=l[s];){if(-1!=l[s].indexOf("--\x3e")){u=!0;break}s++}continue}for(s++;""!=l[s]&&void 0!=l[s];){if(-1!=l[s].indexOf("--\x3e")){p("Blank line missing before cue."),u=!0;break}""!=T.text&&(T.text+="\n"),T.text+=l[s],s++}var j=new r(T.text,p,a,t);T.tree=j.parse(T.startTimeLine truncated
|
||||
Vendored
+1
-1
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,n,r,i,o,a,s){var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof c[r]&&c[r],l=u.i||{},f=u.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,n){if(!f[t]){if(!e[t]){if(i[t])return i[t];var o="function"==typeof c[r]&&c[r];if(!n&&o)return o(t,!0);if(u)return u(t,!0);if(p&&"string"==typeof t)return p(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}l.resolve=function(n){var r=e[t][1][n];return null!=r?r:n},l.cache={};var s=f[t]=new d.Module(t);e[t][0].call(s.exports,l,s,s.exports,c)}return f[t].exports;function l(e){var t=l.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.require=p,this.exports={}},d.modules=e,d.cache=f,d.parent=u,d.distDir=void 0,d.publicUrl=void 0,d.devServer=void 0,d.i=l,d.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(d,"root",{get:function(){return c[r]}}),c[r]=d;for(var v=0;v<t.length;v++)d(t[v]);if(n){var h=d(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({bzF6W:[function(e,t,n,r){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(n),i.export(n,"default",function(){return p});var o=e("@swc/helpers/cjs/_async_to_generator.cjs"),a=e("@swc/helpers/cjs/_object_spread.cjs"),s=e("@swc/helpers/cjs/_object_spread_props.cjs"),c=e("@swc/helpers/cjs/_to_consumable_array.cjs"),u=e("@swc/helpers/cjs/_ts_generator.cjs"),l=e("./parser");function f(){return(f=(0,o._)(function(e,t){var n,r,i,o,a;return(0,u._)(this,function(s){switch(s.label){case 0:return n=t.getExt,r=t.srtToVtt,i=t.assToVtt,[4,fetch(e.url)];case 1:return[4,s.sent().arrayBuffer()];case 2:switch(o=s.sent(),a=new TextDecoder(e.encoding||"utf-8").decode(o),e.type||n(e.url)){case"srt":return[2,r(a)];case"ass":return[2,i(a)];case"vtt":return[2,a];default:return[2,""]}}})})).apply(this,arguments)}function p(e){var t,n=e.subtitles,r=void 0===n?[]:n;return t=(0,o._)(function(e){var t,n,i,o,p,d,v,h,m;function b(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=function(e){for(var t=new(0,l.WebVTTParser)().parse("","metadata"),n=0;n<e.length;n++){var r,i=e[n];if(!i.updated){i.updated=!0;for(var o=0;o<i.cues.length;o++)for(var a=i.cues[o],s=0;s<a.tree.children.length;s++){var u=a.tree.children[s];u.value='<div class="art-subtitle-'.concat(i.name,'">').concat(u.value,"</div>")}}(r=t.cues).push.apply(r,(0,c._)(i.cues))}return t}(t),i=v.serialize(r.cues);URL.revokeObjectURL(m);var o=URL.createObjectURL(new Blob([i],{type:"text/vtt"}));m=o,e.option.subtitle.escape=!1,e.subtitle.init((0,s._)((0,a._)({},e.option.subtitle),{url:o,type:"vtt",onVttLoad:n}))}return(0,u._)(this,function(a){switch(a.label){case 0:return n=(t=e.constructor.utils).unescape,i=t.getExt,o=t.srtToVtt,p=t.assToVtt,d=new(0,l.WebVTTParser),v=new(0,l.WebVTTSerializer),[4,Promise.all(r.map(function(e){return function(e,t){return f.apply(this,arguments)}(e,{getExt:i,srtToVtt:o,assToVtt:p})}))];case 1:return h=a.sent().map(function(e,t){var n=d.parse(e,"metadata");return n.url=r[t].url,n.name=r[t].name,n}),m="",b(h),[2,{name:"multipleSubtitles",tracks:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return b(e.map(function(e){return h.find(function(t){return t.name===e})}))},reset:function(){return b(h)}}]}})}),function(e){return t.apply(this,arguments)}}"undefined"!=typeof window&&(window.artplayerPluginMultipleSubtitles=p)},{"@swc/helpers/cjs/_async_to_generator.cjs":"4ElRo","@swc/helpers/cjs/_object_spread.cjs":"7vaqr","@swc/helpers/cjs/_object_spread_props.cjs":"iJXke","@swc/helpers/cjs/_to_consumable_array.cjs":"1LaMX","@swc/helpers/cjs/_ts_generator.cjs":"a4h1C","./parser":"2xVZx","@parcel/transformer-js/src/esmodule-helpers.js":"ihnSZ"}],"4ElRo":[function(e,t,n,r){"use strict";function i(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}n._=function(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function s(e){i(a,r,o,s,c,"next",e)}function c(e){i(a,r,o,s,c,"throw",e)}s(void 0)})}}},{}],"7vaqr":[function(e,t,n,r){"use strict";var i=e("b3d0f206b721b857");n._=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){i._(e,t,n[t])})}return e}},{b3d0f206b721b857:"dgB2K"}],dgB2K:[function(e,t,n,r){"use strict";n._=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},{}],iJXke:[function(e,t,n,r){"use strict";Line truncated
|
||||
!function(e,t,n,r,i,o,a,s){var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof c[r]&&c[r],f=u.i||{},l=u.cache||{},p="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,n){if(!l[t]){if(!e[t]){if(i[t])return i[t];var o="function"==typeof c[r]&&c[r];if(!n&&o)return o(t,!0);if(u)return u(t,!0);if(p&&"string"==typeof t)return p(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}f.resolve=function(n){var r=e[t][1][n];return null!=r?r:n},f.cache={};var s=l[t]=new d.Module(t);e[t][0].call(s.exports,f,s,s.exports,c)}return l[t].exports;function f(e){var t=f.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.require=p,this.exports={}},d.modules=e,d.cache=l,d.parent=u,d.distDir=void 0,d.publicUrl=void 0,d.devServer=void 0,d.i=f,d.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(d,"root",{get:function(){return c[r]}}),c[r]=d;for(var v=0;v<t.length;v++)d(t[v]);if(n){var h=d(n);"object"==typeof exports&&"undefined"!=typeof module?module.exports=h:"function"==typeof define&&define.amd&&define(function(){return h})}}({bNEbP:[function(e,t,n,r){var i=e("@parcel/transformer-js/src/esmodule-helpers.js");i.defineInteropFlag(n),i.export(n,"default",function(){return l});var o=e("@swc/helpers/cjs/_async_to_generator.cjs"),a=e("@swc/helpers/cjs/_object_spread.cjs"),s=e("@swc/helpers/cjs/_object_spread_props.cjs"),c=e("@swc/helpers/cjs/_to_consumable_array.cjs"),u=e("@swc/helpers/cjs/_ts_generator.cjs"),f=e("./parser");function l(e){var t=e.subtitles,n=void 0===t?[]:t;return function(e){return(0,o._)(function(){var t,r,i,l,p,d,v,h,m;function y(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=function(e){for(var t=new(0,f.WebVTTParser)().parse("","metadata"),n=0;n<e.length;n++){var r,i=e[n];if(!i.updated){i.updated=!0;for(var o=0;o<i.cues.length;o++)for(var a=i.cues[o],s=0;s<a.tree.children.length;s++){var u=a.tree.children[s];u.value='<div class="art-subtitle-'.concat(i.name,'">').concat(u.value,"</div>")}}(r=t.cues).push.apply(r,(0,c._)(i.cues))}return t}(t),i=v.serialize(n.cues);URL.revokeObjectURL(m);var o=URL.createObjectURL(new Blob([i],{type:"text/vtt"}));m=o,e.option.subtitle.escape=!1,e.subtitle.init((0,s._)((0,a._)({},e.option.subtitle),{url:o,type:"vtt",onVttLoad:r}))}return(0,u._)(this,function(a){switch(a.label){case 0:return r=(t=e.constructor.utils).unescape,i=t.getExt,l=t.srtToVtt,p=t.assToVtt,d=new(0,f.WebVTTParser),v=new(0,f.WebVTTSerializer),[4,Promise.all(n.map(function(e){return function(e,t){return(0,o._)(function(e,t){var n,r,i,o,a;return(0,u._)(this,function(s){switch(s.label){case 0:return n=t.getExt,r=t.srtToVtt,i=t.assToVtt,[4,fetch(e.url)];case 1:return[4,s.sent().arrayBuffer()];case 2:switch(o=s.sent(),a=new TextDecoder(e.encoding||"utf-8").decode(o),e.type||n(e.url)){case"srt":return[2,r(a)];case"ass":return[2,i(a)];case"vtt":return[2,a];default:return[2,""]}}})}).apply(this,arguments)}(e,{getExt:i,srtToVtt:l,assToVtt:p})}))];case 1:return h=a.sent().map(function(e,t){var r=d.parse(e,"metadata");return r.url=n[t].url,r.name=n[t].name,r}),m="",y(h),[2,{name:"multipleSubtitles",tracks:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return y(e.map(function(e){return h.find(function(t){return t.name===e})}))},reset:function(){return y(h)}}]}})})()}}"undefined"!=typeof window&&(window.artplayerPluginMultipleSubtitles=l)},{"@swc/helpers/cjs/_async_to_generator.cjs":"cZn0e","@swc/helpers/cjs/_object_spread.cjs":"kyoEj","@swc/helpers/cjs/_object_spread_props.cjs":"3G1wX","@swc/helpers/cjs/_to_consumable_array.cjs":"i81N6","@swc/helpers/cjs/_ts_generator.cjs":"eltGh","./parser":"hxyrW","@parcel/transformer-js/src/esmodule-helpers.js":"qpMMf"}],cZn0e:[function(e,t,n,r){"use strict";function i(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}n._=function(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function s(e){i(a,r,o,s,c,"next",e)}function c(e){i(a,r,o,s,c,"throw",e)}s(void 0)})}}},{}],kyoEj:[function(e,t,n,r){"use strict";var i=e("9f9b8a24218ee51e");n._=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){i._(e,t,n[t])})}return e}},{"9f9b8a24218ee51e":"ltU3W"}],ltU3W:[function(e,t,n,r){"use strict";n._=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},{}],"3G1wX":[function(e,t,n,r){"use strict";n._=function(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?ObjLine truncated
|
||||
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"license": "MIT",
|
||||
"version": "1.1.0",
|
||||
"name": "artplayer-plugin-multiple-subtitles",
|
||||
"description": "multiple subtitles plugin for ArtPlayer",
|
||||
"main": "dist/artplayer-plugin-multiple-subtitles.js",
|
||||
"legacy": "dist/artplayer-plugin-multiple-subtitles.legacy.js",
|
||||
"module": "dist/artplayer-plugin-multiple-subtitles.esm.js",
|
||||
"types": "types/artplayer-plugin-multiple-subtitles.d.ts",
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-multiple-subtitles.esm.js",
|
||||
"require": "./dist/artplayer-plugin-multiple-subtitles.js",
|
||||
"default": "./dist/artplayer-plugin-multiple-subtitles.js"
|
||||
},
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
]
|
||||
"name": "artplayer-plugin-multiple-subtitles",
|
||||
"version": "1.1.0",
|
||||
"description": "multiple subtitles plugin for ArtPlayer",
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"license": "MIT",
|
||||
"homepage": "https://artplayer.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"html5",
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"exports": {
|
||||
"import": "./dist/artplayer-plugin-multiple-subtitles.esm.js",
|
||||
"require": "./dist/artplayer-plugin-multiple-subtitles.js",
|
||||
"default": "./dist/artplayer-plugin-multiple-subtitles.js"
|
||||
},
|
||||
"main": "dist/artplayer-plugin-multiple-subtitles.js",
|
||||
"legacy": "dist/artplayer-plugin-multiple-subtitles.legacy.js",
|
||||
"module": "dist/artplayer-plugin-multiple-subtitles.esm.js",
|
||||
"types": "types/artplayer-plugin-multiple-subtitles.d.ts",
|
||||
"browserslist": "last 1 Chrome version"
|
||||
}
|
||||
@@ -1,99 +1,99 @@
|
||||
import { WebVTTParser, WebVTTSerializer } from './parser';
|
||||
import { WebVTTParser, WebVTTSerializer } from './parser'
|
||||
|
||||
async function loadVtt(option, { getExt, srtToVtt, assToVtt }) {
|
||||
const response = await fetch(option.url);
|
||||
const buffer = await response.arrayBuffer();
|
||||
const decoder = new TextDecoder(option.encoding || 'utf-8');
|
||||
const text = decoder.decode(buffer);
|
||||
switch (option.type || getExt(option.url)) {
|
||||
case 'srt': {
|
||||
return srtToVtt(text);
|
||||
}
|
||||
case 'ass': {
|
||||
return assToVtt(text);
|
||||
}
|
||||
case 'vtt': {
|
||||
return text;
|
||||
}
|
||||
default:
|
||||
return '';
|
||||
const response = await fetch(option.url)
|
||||
const buffer = await response.arrayBuffer()
|
||||
const decoder = new TextDecoder(option.encoding || 'utf-8')
|
||||
const text = decoder.decode(buffer)
|
||||
switch (option.type || getExt(option.url)) {
|
||||
case 'srt': {
|
||||
return srtToVtt(text)
|
||||
}
|
||||
case 'ass': {
|
||||
return assToVtt(text)
|
||||
}
|
||||
case 'vtt': {
|
||||
return text
|
||||
}
|
||||
default:
|
||||
return ''
|
||||
}
|
||||
}
|
||||
|
||||
function mergeTrees(trees) {
|
||||
const parser = new WebVTTParser();
|
||||
const result = parser.parse('', 'metadata');
|
||||
const parser = new WebVTTParser()
|
||||
const result = parser.parse('', 'metadata')
|
||||
|
||||
for (let i = 0; i < trees.length; i++) {
|
||||
const tree = trees[i];
|
||||
for (let i = 0; i < trees.length; i++) {
|
||||
const tree = trees[i]
|
||||
|
||||
if (!tree.updated) {
|
||||
tree.updated = true;
|
||||
for (let j = 0; j < tree.cues.length; j++) {
|
||||
const cue = tree.cues[j];
|
||||
for (let k = 0; k < cue.tree.children.length; k++) {
|
||||
const children = cue.tree.children[k];
|
||||
children.value = `<div class="art-subtitle-${tree.name}">${children.value}</div>`;
|
||||
}
|
||||
}
|
||||
if (!tree.updated) {
|
||||
tree.updated = true
|
||||
for (let j = 0; j < tree.cues.length; j++) {
|
||||
const cue = tree.cues[j]
|
||||
for (let k = 0; k < cue.tree.children.length; k++) {
|
||||
const children = cue.tree.children[k]
|
||||
children.value = `<div class="art-subtitle-${tree.name}">${children.value}</div>`
|
||||
}
|
||||
|
||||
result.cues.push(...tree.cues);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
result.cues.push(...tree.cues)
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
export default function artplayerPluginMultipleSubtitles({ subtitles = [] }) {
|
||||
return async (art) => {
|
||||
const { unescape, getExt, srtToVtt, assToVtt } = art.constructor.utils;
|
||||
return async (art) => {
|
||||
const { unescape, getExt, srtToVtt, assToVtt } = art.constructor.utils
|
||||
|
||||
const parser = new WebVTTParser();
|
||||
const seri = new WebVTTSerializer();
|
||||
const parser = new WebVTTParser()
|
||||
const seri = new WebVTTSerializer()
|
||||
|
||||
const vtts = await Promise.all(
|
||||
subtitles.map((option) => {
|
||||
return loadVtt(option, { getExt, srtToVtt, assToVtt });
|
||||
}),
|
||||
);
|
||||
const vtts = await Promise.all(
|
||||
subtitles.map((option) => {
|
||||
return loadVtt(option, { getExt, srtToVtt, assToVtt })
|
||||
}),
|
||||
)
|
||||
|
||||
const trees = vtts.map((vtt, index) => {
|
||||
const tree = parser.parse(vtt, 'metadata');
|
||||
tree.url = subtitles[index].url;
|
||||
tree.name = subtitles[index].name;
|
||||
return tree;
|
||||
});
|
||||
const trees = vtts.map((vtt, index) => {
|
||||
const tree = parser.parse(vtt, 'metadata')
|
||||
tree.url = subtitles[index].url
|
||||
tree.name = subtitles[index].name
|
||||
return tree
|
||||
})
|
||||
|
||||
let lastUrl = '';
|
||||
function setTracks(trees = []) {
|
||||
const tree = mergeTrees(trees);
|
||||
const vtt = seri.serialize(tree.cues);
|
||||
URL.revokeObjectURL(lastUrl);
|
||||
const url = URL.createObjectURL(new Blob([vtt], { type: 'text/vtt' }));
|
||||
lastUrl = url;
|
||||
art.option.subtitle.escape = false;
|
||||
art.subtitle.init({
|
||||
...art.option.subtitle,
|
||||
url,
|
||||
type: 'vtt',
|
||||
onVttLoad: unescape,
|
||||
});
|
||||
}
|
||||
let lastUrl = ''
|
||||
function setTracks(trees = []) {
|
||||
const tree = mergeTrees(trees)
|
||||
const vtt = seri.serialize(tree.cues)
|
||||
URL.revokeObjectURL(lastUrl)
|
||||
const url = URL.createObjectURL(new Blob([vtt], { type: 'text/vtt' }))
|
||||
lastUrl = url
|
||||
art.option.subtitle.escape = false
|
||||
art.subtitle.init({
|
||||
...art.option.subtitle,
|
||||
url,
|
||||
type: 'vtt',
|
||||
onVttLoad: unescape,
|
||||
})
|
||||
}
|
||||
|
||||
setTracks(trees);
|
||||
setTracks(trees)
|
||||
|
||||
return {
|
||||
name: 'multipleSubtitles',
|
||||
tracks(names = []) {
|
||||
return setTracks(names.map((name) => trees.find((tree) => tree.name === name)));
|
||||
},
|
||||
reset() {
|
||||
return setTracks(trees);
|
||||
},
|
||||
};
|
||||
};
|
||||
return {
|
||||
name: 'multipleSubtitles',
|
||||
tracks(names = []) {
|
||||
return setTracks(names.map(name => trees.find(tree => tree.name === name)))
|
||||
},
|
||||
reset() {
|
||||
return setTracks(trees)
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined') {
|
||||
window['artplayerPluginMultipleSubtitles'] = artplayerPluginMultipleSubtitles;
|
||||
window.artplayerPluginMultipleSubtitles = artplayerPluginMultipleSubtitles
|
||||
}
|
||||
Vendored
+11
-11
@@ -1,16 +1,16 @@
|
||||
import type Artplayer from 'artplayer';
|
||||
import type Artplayer from 'artplayer'
|
||||
|
||||
export = artplayerPluginMultipleSubtitles;
|
||||
export = artplayerPluginMultipleSubtitles
|
||||
export as namespace artplayerPluginMultipleSubtitles;
|
||||
|
||||
declare const artplayerPluginMultipleSubtitles: (option: {
|
||||
subtitles: {
|
||||
url?: string;
|
||||
name?: string;
|
||||
type?: 'vtt' | 'srt' | 'ass';
|
||||
encoding?: string;
|
||||
onParser?(...args: object[]): object;
|
||||
}[];
|
||||
subtitles: {
|
||||
url?: string
|
||||
name?: string
|
||||
type?: 'vtt' | 'srt' | 'ass'
|
||||
encoding?: string
|
||||
onParser?: (...args: object[]) => object
|
||||
}[]
|
||||
}) => (art: Artplayer) => {
|
||||
name: 'multipleSubtitles';
|
||||
};
|
||||
name: 'multipleSubtitles'
|
||||
}
|
||||
@@ -5,5 +5,5 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,i,n,r,s,o,a){var u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof u[n]&&u[n],h=d.i||{},l=d.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,i){if(!l[t]){if(!e[t]){if(r[t])return r[t];var s="function"==typeof u[n]&&u[n];if(!i&&s)return s(t,!0);if(d)return d(t,!0);if(c&&"string"==typeof t)return c(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}h.resolve=function(i){var n=e[t][1][i];return null!=n?n:i},h.cache={};var a=l[t]=new f.Module(t);e[t][0].call(a.exports,h,a,a.exports,u)}return l[t].exports;function h(e){var t=h.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=c,this.exports={}},f.modules=e,f.cache=l,f.parent=d,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=h,f.register=function(t,i){e[t]=[function(e,t){t.exports=i},{}]},Object.defineProperty(f,"root",{get:function(){return u[n]}}),u[n]=f;for(var p=0;p<t.length;p++)f(t[p]);if(i){var v=f(i);"object"==typeof exports&&"undefined"!=typeof module?module.exports=v:"function"==typeof define&&define.amd&&define(function(){return v})}}({"4omrA":[function(e,t,i,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(i),r.export(i,"default",()=>o);var s=e("@glomex/vast-ima-player");function o(e){return async t=>{let{template:i,constructor:n}=t,{createElement:r,setStyles:o}=n.utils,{$video:a,$player:u}=i;await (0,s.loadImaSdk)();let d=window.google.ima,h=new d.AdsRenderingSettings;h.restoreCustomPlaybackStateOnAdBreakComplete=!0,h.enablePreloading=!0;let l=new(0,s.PlayerOptions),c=!1,f=null,p=null;function v(){p=function(){let e=r("div");return e.id=`art-vast-${Date.now()}`,o(e,{position:"absolute",inset:"0",width:"100%",height:"100%",zIndex:"150",backgroundColor:"black",display:"none",pointerEvents:"auto"}),e}(),u.appendChild(p),(f=new(0,s.Player)(d,a,p,h,l)).onAdStarted=()=>{c=!0,p.style.display="block",t.pause()},f.onAdEnd=()=>{c=!1,p.style.display="none",t.play()},f.onAdError=e=>{console.error("VAST Ad Error:",e),c=!1,p.style.display="none",t.play()}}return"function"==typeof e&&await e({art:t,playUrl:function(e){if(c)return;f||v();let t=new d.AdsRequest;t.adTagUrl=e,f.playAds(t)},playRes:function(e){if(c)return;f||v();let t=new d.AdsRequest;t.adsResponse=e,f.playAds(t)},ima:d,imaPlayer:f,get container(){return p}}),{name:"artplayerPluginVast",destroy:function(){p&&p.parentNode&&p.parentNode.removeChild(p),p=null,f=null}}}}"undefined"!=typeof window&&(window.artplayerPluginVast=o)},{"@glomex/vast-ima-player":"1CPmN","@parcel/transformer-js/src/esmodule-helpers.js":"w4pLy"}],"1CPmN":[function(e,t,i,n){var r,s,o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(i),o.export(i,"Player",()=>ed),o.export(i,"PlayerError",()=>j),o.export(i,"PlayerEvent",()=>M),o.export(i,"PlayerOptions",()=>L),o.export(i,"loadImaSdk",()=>d);var a=null,u=function(){a=null},d=function(){var e=window;return e.google&&e.google.ima?Promise.resolve(e.google.ima):a||((a=new Promise(function(e,t){var i=document.createElement("script");i.async=!0,i.src="https://imasdk.googleapis.com/js/sdkloader/ima3.js",i.onload=e,i.onerror=t,document.body.appendChild(i)}).then(function(){return e.google.ima})).then(u).catch(u),a)};function h(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function l(e,t,i){return t&&h(e.prototype,t),i&&h(e,i),e}function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e}).apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,v(e,t)}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(e,t,i){return(y=!function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}()?function(e,t,i){var n=[null];n.push.apply(n,t);var r=new(Function.bind.apply(e,n));return i&&v(r,i.prototype),r}:Reflect.construct).apply(null,arguments)}function E(e){var t="function"==typeof Map?new Map:void 0;return(E=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return y(e,arguments,p(this).constructor)}return i.prototype=Object.create(e.proLine truncated
|
||||
!function(e,t,i,n,r,s,o,a){var u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof u[n]&&u[n],h=d.i||{},l=d.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,i){if(!l[t]){if(!e[t]){if(r[t])return r[t];var s="function"==typeof u[n]&&u[n];if(!i&&s)return s(t,!0);if(d)return d(t,!0);if(c&&"string"==typeof t)return c(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}h.resolve=function(i){var n=e[t][1][i];return null!=n?n:i},h.cache={};var a=l[t]=new f.Module(t);e[t][0].call(a.exports,h,a,a.exports,u)}return l[t].exports;function h(e){var t=h.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=c,this.exports={}},f.modules=e,f.cache=l,f.parent=d,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=h,f.register=function(t,i){e[t]=[function(e,t){t.exports=i},{}]},Object.defineProperty(f,"root",{get:function(){return u[n]}}),u[n]=f;for(var p=0;p<t.length;p++)f(t[p]);if(i){var v=f(i);"object"==typeof exports&&"undefined"!=typeof module?module.exports=v:"function"==typeof define&&define.amd&&define(function(){return v})}}({"6FruW":[function(e,t,i,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(i),r.export(i,"default",()=>o);var s=e("@glomex/vast-ima-player");function o(e){return async t=>{let{template:i,constructor:n}=t,{createElement:r,setStyles:o}=n.utils,{$video:a,$player:u}=i;await (0,s.loadImaSdk)();let d=window.google.ima,h=new d.AdsRenderingSettings;h.restoreCustomPlaybackStateOnAdBreakComplete=!0,h.enablePreloading=!0;let l=new(0,s.PlayerOptions),c=!1,f=null,p=null;function v(){p=function(){let e=r("div");return e.id=`art-vast-${Date.now()}`,o(e,{position:"absolute",inset:"0",width:"100%",height:"100%",zIndex:"150",backgroundColor:"black",display:"none",pointerEvents:"auto"}),e}(),u.appendChild(p),(f=new(0,s.Player)(d,a,p,h,l)).onAdStarted=()=>{c=!0,p.style.display="block",t.pause()},f.onAdEnd=()=>{c=!1,p.style.display="none",t.play()},f.onAdError=e=>{console.error("VAST Ad Error:",e),c=!1,p.style.display="none",t.play()}}return"function"==typeof e&&await e({art:t,playUrl:function(e){if(c)return;f||v();let t=new d.AdsRequest;t.adTagUrl=e,f.playAds(t)},playRes:function(e){if(c)return;f||v();let t=new d.AdsRequest;t.adsResponse=e,f.playAds(t)},ima:d,imaPlayer:f,get container(){return p}}),{name:"artplayerPluginVast",destroy:function(){p&&p.parentNode&&p.parentNode.removeChild(p),p=null,f=null}}}}"undefined"!=typeof window&&(window.artplayerPluginVast=o)},{"@glomex/vast-ima-player":"dtCfZ","@parcel/transformer-js/src/esmodule-helpers.js":"5lQoW"}],dtCfZ:[function(e,t,i,n){var r,s,o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(i),o.export(i,"Player",()=>ed),o.export(i,"PlayerError",()=>L),o.export(i,"PlayerEvent",()=>M),o.export(i,"PlayerOptions",()=>j),o.export(i,"loadImaSdk",()=>d);var a=null,u=function(){a=null},d=function(){var e=window;return e.google&&e.google.ima?Promise.resolve(e.google.ima):a||((a=new Promise(function(e,t){var i=document.createElement("script");i.async=!0,i.src="https://imasdk.googleapis.com/js/sdkloader/ima3.js",i.onload=e,i.onerror=t,document.body.appendChild(i)}).then(function(){return e.google.ima})).then(u).catch(u),a)};function h(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function l(e,t,i){return t&&h(e.prototype,t),i&&h(e,i),e}function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e}).apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,v(e,t)}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(e,t,i){return(y=!function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}()?function(e,t,i){var n=[null];n.push.apply(n,t);var r=new(Function.bind.apply(e,n));return i&&v(r,i.prototype),r}:Reflect.construct).apply(null,arguments)}function E(e){var t="function"==typeof Map?new Map:void 0;return(E=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return y(e,arguments,p(this).constructor)}return i.prototype=Object.create(e.protoLine truncated
|
||||
//# sourceMappingURL=artplayer-plugin-vast.esm.js.map
|
||||
@@ -1 +1 @@
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCEwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAFxB,IAAA,EAAA,EAAA,2BAEe,SAAS,EAAoB,CAAQ,EAChD,OAAO,MAAO,IACV,GAAM,CAAE,SAAA,CAAQ,CAAE,YAAA,CAAW,CAAE,CAAG,EAC5B,CAAE,cAAA,CAAa,CAAE,UAAA,CAAS,CAAE,CAAG,EAAY,KAAK,CAChD,CAAE,OAAA,CAAM,CAAE,QAAA,CAAO,CAAE,CAAG,CAE5B,OAAM,AAAA,CAAA,EAAA,EAAA,UAAS,AAAT,IAEN,IAAM,EAAM,AADG,OAAO,MAAM,CACT,GAAG,CAEhB,EAAu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 truncated
|
||||
{"mappings":"C,A,S,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,E,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,A,Y,O,C,C,E,E,C,C,E,C,E,E,C,E,C,E,E,E,K,E,C,E,E,A,a,O,Q,A,Y,O,O,O,E,O,O,C,I,C,Q,S,E,C,C,C,E,G,C,C,C,E,C,C,G,C,C,C,E,C,C,G,C,C,E,C,O,C,C,E,C,I,E,A,Y,O,C,C,E,E,C,C,E,C,G,C,G,E,O,E,E,C,G,G,E,O,E,E,C,G,G,G,A,U,O,E,O,E,G,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,O,C,S,C,E,I,E,C,C,E,C,E,C,E,C,O,A,M,E,E,C,E,E,K,C,C,E,I,E,C,C,E,C,I,E,M,C,G,C,C,E,C,E,C,I,C,E,O,C,E,E,E,O,C,E,C,O,C,C,E,C,O,C,S,E,C,E,I,E,E,O,C,G,M,A,C,I,E,C,E,E,E,C,C,E,e,C,C,E,E,M,C,S,C,E,I,C,E,C,E,I,C,M,C,E,I,C,O,C,E,I,C,O,C,C,C,E,E,O,C,E,E,K,C,E,E,M,C,E,E,O,C,K,E,E,S,C,K,E,E,S,C,K,E,E,C,C,E,E,Q,C,S,C,C,C,E,C,C,E,C,C,S,C,C,C,E,E,O,C,C,E,C,E,A,E,O,c,C,E,O,C,I,W,O,C,C,E,A,C,G,C,C,E,C,E,I,I,E,E,E,E,M,C,I,E,C,C,E,E,G,E,C,I,E,E,E,A,C,U,O,S,A,a,O,O,O,O,C,E,A,Y,O,Q,O,G,E,O,W,O,C,E,C,E,C,Q,C,S,C,C,C,C,C,C,C,E,I,E,E,kD,E,iB,C,GCEwB,EAAA,MAAA,CAAA,EAAA,UAAA,IAAA,GAFxB,IAAA,EAAA,EAAA,2BAEe,SAAS,EAAoB,CAAQ,EAClD,OAAO,MAAO,IACZ,GAAM,CAAE,SAAA,CAAQ,CAAE,YAAA,CAAW,CAAE,CAAG,EAC5B,CAAE,cAAA,CAAa,CAAE,UAAA,CAAS,CAAE,CAAG,EAAY,KAAK,CAChD,CAAE,OAAA,CAAM,CAAE,QAAA,CAAO,CAAE,CAAG,CAE5B,OAAM,AAAA,CAAA,EAAA,EAAA,UAAS,AAAT,IAEN,IAAM,EAAM,AADG,OAAO,MAAM,CACT,GAAG,CAEhB,EAAu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 truncated
|
||||
@@ -5,4 +5,4 @@
|
||||
* (c) 2017-2025 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
!function(e,t,i,n,r,s,o,a){var u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},d="function"==typeof u[n]&&u[n],h=d.i||{},l=d.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,i){if(!l[t]){if(!e[t]){if(r[t])return r[t];var s="function"==typeof u[n]&&u[n];if(!i&&s)return s(t,!0);if(d)return d(t,!0);if(c&&"string"==typeof t)return c(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}h.resolve=function(i){var n=e[t][1][i];return null!=n?n:i},h.cache={};var a=l[t]=new f.Module(t);e[t][0].call(a.exports,h,a,a.exports,u)}return l[t].exports;function h(e){var t=h.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=c,this.exports={}},f.modules=e,f.cache=l,f.parent=d,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=h,f.register=function(t,i){e[t]=[function(e,t){t.exports=i},{}]},Object.defineProperty(f,"root",{get:function(){return u[n]}}),u[n]=f;for(var p=0;p<t.length;p++)f(t[p]);if(i){var v=f(i);"object"==typeof exports&&"undefined"!=typeof module?module.exports=v:"function"==typeof define&&define.amd&&define(function(){return v})}}({jz4E5:[function(e,t,i,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(i),r.export(i,"default",()=>o);var s=e("@glomex/vast-ima-player");function o(e){return async t=>{let{template:i,constructor:n}=t,{createElement:r,setStyles:o}=n.utils,{$video:a,$player:u}=i;await (0,s.loadImaSdk)();let d=window.google.ima,h=new d.AdsRenderingSettings;h.restoreCustomPlaybackStateOnAdBreakComplete=!0,h.enablePreloading=!0;let l=new(0,s.PlayerOptions),c=!1,f=null,p=null;function v(){p=function(){let e=r("div");return e.id=`art-vast-${Date.now()}`,o(e,{position:"absolute",inset:"0",width:"100%",height:"100%",zIndex:"150",backgroundColor:"black",display:"none",pointerEvents:"auto"}),e}(),u.appendChild(p),(f=new(0,s.Player)(d,a,p,h,l)).onAdStarted=()=>{c=!0,p.style.display="block",t.pause()},f.onAdEnd=()=>{c=!1,p.style.display="none",t.play()},f.onAdError=e=>{console.error("VAST Ad Error:",e),c=!1,p.style.display="none",t.play()}}return"function"==typeof e&&await e({art:t,playUrl:function(e){if(c)return;f||v();let t=new d.AdsRequest;t.adTagUrl=e,f.playAds(t)},playRes:function(e){if(c)return;f||v();let t=new d.AdsRequest;t.adsResponse=e,f.playAds(t)},ima:d,imaPlayer:f,get container(){return p}}),{name:"artplayerPluginVast",destroy:function(){p&&p.parentNode&&p.parentNode.removeChild(p),p=null,f=null}}}}"undefined"!=typeof window&&(window.artplayerPluginVast=o)},{"@glomex/vast-ima-player":"g5DTO","@parcel/transformer-js/src/esmodule-helpers.js":"7o2zS"}],g5DTO:[function(e,t,i,n){var r,s,o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(i),o.export(i,"Player",()=>ed),o.export(i,"PlayerError",()=>L),o.export(i,"PlayerEvent",()=>M),o.export(i,"PlayerOptions",()=>j),o.export(i,"loadImaSdk",()=>d);var a=null,u=function(){a=null},d=function(){var e=window;return e.google&&e.google.ima?Promise.resolve(e.google.ima):a||((a=new Promise(function(e,t){var i=document.createElement("script");i.async=!0,i.src="https://imasdk.googleapis.com/js/sdkloader/ima3.js",i.onload=e,i.onerror=t,document.body.appendChild(i)}).then(function(){return e.google.ima})).then(u).catch(u),a)};function h(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function l(e,t,i){return t&&h(e.prototype,t),i&&h(e,i),e}function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e}).apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,v(e,t)}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(e,t,i){return(y=!function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}()?function(e,t,i){var n=[null];n.push.apply(n,t);var r=new(Function.bind.apply(e,n));return i&&v(r,i.prototype),r}:Reflect.construct).apply(null,arguments)}function E(e){var t="function"==typeof Map?new Map:void 0;return(E=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return y(e,arguments,p(this).constructor)}return i.prototype=Object.create(e.prototyLine truncated
|
||||
!function(e,t,i,n,r,s,o,a){var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof d[n]&&d[n],h=u.i||{},l=u.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,i){if(!l[t]){if(!e[t]){if(r[t])return r[t];var s="function"==typeof d[n]&&d[n];if(!i&&s)return s(t,!0);if(u)return u(t,!0);if(c&&"string"==typeof t)return c(t);var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}h.resolve=function(i){var n=e[t][1][i];return null!=n?n:i},h.cache={};var a=l[t]=new f.Module(t);e[t][0].call(a.exports,h,a,a.exports,d)}return l[t].exports;function h(e){var t=h.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.require=c,this.exports={}},f.modules=e,f.cache=l,f.parent=u,f.distDir=void 0,f.publicUrl=void 0,f.devServer=void 0,f.i=h,f.register=function(t,i){e[t]=[function(e,t){t.exports=i},{}]},Object.defineProperty(f,"root",{get:function(){return d[n]}}),d[n]=f;for(var p=0;p<t.length;p++)f(t[p]);if(i){var v=f(i);"object"==typeof exports&&"undefined"!=typeof module?module.exports=v:"function"==typeof define&&define.amd&&define(function(){return v})}}({dwHLV:[function(e,t,i,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(i),r.export(i,"default",()=>o);var s=e("@glomex/vast-ima-player");function o(e){return async t=>{let{template:i,constructor:n}=t,{createElement:r,setStyles:o}=n.utils,{$video:a,$player:d}=i;await (0,s.loadImaSdk)();let u=window.google.ima,h=new u.AdsRenderingSettings;h.restoreCustomPlaybackStateOnAdBreakComplete=!0,h.enablePreloading=!0;let l=new(0,s.PlayerOptions),c=!1,f=null,p=null;function v(){p=function(){let e=r("div");return e.id=`art-vast-${Date.now()}`,o(e,{position:"absolute",inset:"0",width:"100%",height:"100%",zIndex:"150",backgroundColor:"black",display:"none",pointerEvents:"auto"}),e}(),d.appendChild(p),(f=new(0,s.Player)(u,a,p,h,l)).onAdStarted=()=>{c=!0,p.style.display="block",t.pause()},f.onAdEnd=()=>{c=!1,p.style.display="none",t.play()},f.onAdError=e=>{console.error("VAST Ad Error:",e),c=!1,p.style.display="none",t.play()}}return"function"==typeof e&&await e({art:t,playUrl:function(e){if(c)return;f||v();let t=new u.AdsRequest;t.adTagUrl=e,f.playAds(t)},playRes:function(e){if(c)return;f||v();let t=new u.AdsRequest;t.adsResponse=e,f.playAds(t)},ima:u,imaPlayer:f,get container(){return p}}),{name:"artplayerPluginVast",destroy:function(){p&&p.parentNode&&p.parentNode.removeChild(p),p=null,f=null}}}}"undefined"!=typeof window&&(window.artplayerPluginVast=o)},{"@glomex/vast-ima-player":"edhqb","@parcel/transformer-js/src/esmodule-helpers.js":"6ykb1"}],edhqb:[function(e,t,i,n){var r,s,o=e("@parcel/transformer-js/src/esmodule-helpers.js");o.defineInteropFlag(i),o.export(i,"Player",()=>eu),o.export(i,"PlayerError",()=>j),o.export(i,"PlayerEvent",()=>M),o.export(i,"PlayerOptions",()=>L),o.export(i,"loadImaSdk",()=>u);var a=null,d=function(){a=null},u=function(){var e=window;return e.google&&e.google.ima?Promise.resolve(e.google.ima):a||((a=new Promise(function(e,t){var i=document.createElement("script");i.async=!0,i.src="https://imasdk.googleapis.com/js/sdkloader/ima3.js",i.onload=e,i.onerror=t,document.body.appendChild(i)}).then(function(){return e.google.ima})).then(d).catch(d),a)};function h(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function l(e,t,i){return t&&h(e.prototype,t),i&&h(e,i),e}function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e}).apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,v(e,t)}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(e,t,i){return(y=!function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}()?function(e,t,i){var n=[null];n.push.apply(n,t);var r=new(Function.bind.apply(e,n));return i&&v(r,i.prototype),r}:Reflect.construct).apply(null,arguments)}function E(e){var t="function"==typeof Map?new Map:void 0;return(E=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return y(e,arguments,p(this).constructor)}return i.prototype=Object.create(e.prototyLine truncated
|
||||
Loaded 100 of 447 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user