Files
ArtPlayer/docs/compiled/artplayer-tool-thumbnail.legacy.js
T
Harvey Zack 2fc9d4d3e9 Dep (#601)
* init

* update dep
2023-08-26 16:48:19 +08:00

7 lines
16 KiB
JavaScript

/*!
* artplayer-tool-thumbnail.js v4.3.12
* Github: https://github.com/zhw2590582/ArtPlayer
* (c) 2017-2023 Harvey Zack
* Released under the MIT License.
*/
!function(e,t,r,n,o){var s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof s[n]&&s[n],a=i.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function c(t,r){if(!a[t]){if(!e[t]){var o="function"==typeof s[n]&&s[n];if(!r&&o)return o(t,!0);if(i)return i(t,!0);if(l&&"string"==typeof t)return l(t);var u=new Error("Cannot find module '"+t+"'");throw u.code="MODULE_NOT_FOUND",u}p.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},p.cache={};var f=a[t]=new c.Module(t);e[t][0].call(f.exports,p,f,f.exports,this)}return a[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:c(t)}}c.isParcelRequire=!0,c.Module=function(e){this.id=e,this.bundle=c,this.exports={}},c.modules=e,c.cache=a,c.parent=i,c.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(c,"root",{get:function(){return s[n]}}),s[n]=c;for(var u=0;u<t.length;u++)c(t[u]);if(r){var f=c(r);"object"==typeof exports&&"undefined"!=typeof module?module.exports=f:"function"==typeof define&&define.amd&&define((function(){return f}))}}({esZVA:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",(function(){return v}));var o=e("@swc/helpers/src/_assert_this_initialized.mjs"),s=n.interopDefault(o),i=e("@swc/helpers/src/_class_call_check.mjs"),a=n.interopDefault(i),l=e("@swc/helpers/src/_create_class.mjs"),c=n.interopDefault(l),u=e("@swc/helpers/src/_inherits.mjs"),f=n.interopDefault(u),p=e("@swc/helpers/src/_create_super.mjs"),h=n.interopDefault(p),d=e("./emitter"),m=n.interopDefault(d),_=e("./utils"),v=function(e){"use strict";(0,f.default)(r,e);var t=(0,h.default)(r);function r(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,a.default)(this,r),(e=t.call(this)).processing=!1,e.option={},e.setup(Object.assign({},r.DEFAULTS,n)),e.video=r.creatVideo(),e.duration=0,e.inputChange=e.inputChange.bind((0,s.default)(e)),e.ondrop=e.ondrop.bind((0,s.default)(e)),e.option.fileInput.addEventListener("change",e.inputChange),e.option.fileInput.addEventListener("dragover",r.ondragover),e.option.fileInput.addEventListener("drop",r.ondrop),e}return(0,c.default)(r,[{key:"ondrop",value:function(e){e.preventDefault();var t=e.dataTransfer.files[0];this.loadVideo(t)}},{key:"setup",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this;this.option=Object.assign({},this.option,e);var r=this.option,n=r.fileInput,o=r.number,s=r.width,i=r.column;if(this.errorHandle(n instanceof Element,"The 'fileInput' is not a Element"),"INPUT"!==n.tagName||"file"!==n.type){n.style.position="relative";var a=document.createElement("input");a.type="file",a.style.position="absolute",a.style.width="100%",a.style.height="100%",a.style.left="0",a.style.top="0",a.style.right="0",a.style.bottom="0",a.style.opacity="0",n.appendChild(a),this.option.fileInput=a}return["number","width","column","begin","end"].forEach((function(e){t.errorHandle("number"==typeof t.option[e],"The '".concat(e,"' is not a number"))})),this.option.number=(0,_.clamp)(o,10,1e3),this.option.width=(0,_.clamp)(s,10,1e3),this.option.column=(0,_.clamp)(i,1,1e3),this}},{key:"inputChange",value:function(e){var t=this.option.fileInput.files[0];this.loadVideo(t),e.target.value=""}},{key:"loadVideo",value:function(e){if(e){var t=this.video.canPlayType(e.type);this.errorHandle("maybe"===t||"probably"===t,"Playback of this file format is not supported: ".concat(e.type));var r=URL.createObjectURL(e);this.videoUrl=r,this.file=e,this.emit("file",this.file),this.video.src=r,this.emit("video",this.video)}}},{key:"start",value:function(){var e=this;if(!this.video.duration)return(0,_.sleep)(1e3).then((function(){return e.start()}));var t=this.option,r=t.width,n=t.number,o=t.begin,s=t.end,i=this.video.videoHeight/this.video.videoWidth*r;this.option.height=i,this.option.begin=(0,_.clamp)(o,0,this.video.duration),this.option.end=(0,_.clamp)(s||this.video.duration,o,this.video.duration),this.errorHandle(this.option.end>this.option.begin,"End time must be greater than the start time"),this.duration=this.option.end-this.option.begin,this.density=n/this.duration,this.errorHandle(this.file&&this.video,"Please select the video file first"),this.errorHandle(!this.processing,"There is currently a task in progress, please wait a moment..."),this.errorHandle(this.density<=1,"The preview density cannot be greater than 1, but got ".concat(this.density));var a=this.creatScreenshotDate(),l=this.creatCanvas(),c=l.getContext("2d");this.emit("canvas",l);var u=a.map((function(t,o){return function(){return new Promise((function(s){e.video.oncanplay=function(){c.drawImage(e.video,t.x,t.y,r,i),l.toBlob((function(t){e.thumbnailUrl&&URL.revokeObjectURL(e.thumbnailUrl),e.thumbnailUrl=URL.createObjectURL(t),e.emit("update",e.thumbnailUrl,(o+1)/n),e.video.oncanplay=null,s()}))},e.video.currentTime=t.time}))}}));return this.processing=!0,(0,_.runPromisesInSeries)(u).then((function(){e.processing=!1,e.emit("done")})).catch((function(t){throw e.processing=!1,e.emit("error",t.message),t}))}},{key:"creatScreenshotDate",value:function(){for(var e=this.option,t=e.number,r=e.width,n=e.height,o=e.column,s=e.begin,i=this.duration/t,a=[s+i];a.length<t;){var l=a[a.length-1];a.push(l+i)}return a.map((function(e,t){return{time:e-i/2,x:t%o*r,y:Math.floor(t/o)*n}}))}},{key:"creatCanvas",value:function(){var e=this.option,t=e.number,r=e.width,n=e.height,o=e.column,s=document.createElement("canvas"),i=s.getContext("2d");return s.width=r*o,s.height=Math.ceil(t/o)*n+30,i.fillStyle="black",i.fillRect(0,0,s.width,s.height),i.font="14px Georgia",i.fillStyle="#fff",i.fillText("From: https://artplayer.org/, Number: ".concat(t,", Width: ").concat(r,", Height: ").concat(n,", Column: ").concat(o),10,s.height-11),s}},{key:"download",value:function(){this.errorHandle(this.file&&this.thumbnailUrl,"Download does not seem to be ready, please create preview first"),this.errorHandle(!this.processing,"There is currently a task in progress, please wait a moment...");var e=document.createElement("a"),t="".concat((0,_.getFileName)(this.file.name),".png");return e.download=t,e.href=this.thumbnailUrl,document.body.appendChild(e),e.click(),document.body.removeChild(e),this.emit("download",t),this}},{key:"errorHandle",value:function(e,t){if(!e)throw this.emit("error",t),new Error(t)}},{key:"destroy",value:function(){this.option.fileInput.removeEventListener("change",this.inputChange),this.option.fileInput.removeEventListener("dragover",r.ondragover),this.option.fileInput.removeEventListener("drop",r.ondrop),document.body.removeChild(this.video),this.videoUrl&&URL.revokeObjectURL(this.videoUrl),this.thumbnailUrl&&URL.revokeObjectURL(this.thumbnailUrl),this.emit("destroy")}}],[{key:"DEFAULTS",get:function(){return{number:60,width:160,height:90,column:10,begin:0,end:NaN}}},{key:"ondragover",value:function(e){e.preventDefault()}},{key:"creatVideo",value:function(){var e=document.createElement("video");return e.style.position="absolute",e.style.top="-9999px",e.style.left="-9999px",e.muted=!0,e.controls=!0,document.body.appendChild(e),e}}]),r}(m.default);window.ArtplayerToolThumbnail=v},{"@swc/helpers/src/_assert_this_initialized.mjs":"ebHIN","@swc/helpers/src/_class_call_check.mjs":"iwG1v","@swc/helpers/src/_create_class.mjs":"6rgu9","@swc/helpers/src/_inherits.mjs":"4zEwu","@swc/helpers/src/_create_super.mjs":"9RLVS","./emitter":"ibcBd","./utils":"5snTI","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],ebHIN:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",(function(){return o._}));var o=e("../esm/_assert_this_initialized.js")},{"../esm/_assert_this_initialized.js":"jgeid","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],jgeid:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}n.defineInteropFlag(r),n.export(r,"_assert_this_initialized",(function(){return o})),n.export(r,"_",(function(){return o}))},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],iWrD0:[function(e,t,r){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||t.hasOwnProperty(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})}},{}],iwG1v:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",(function(){return o._}));var o=e("../esm/_class_call_check.js")},{"../esm/_class_call_check.js":"9iJMm","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"9iJMm":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.defineInteropFlag(r),n.export(r,"_class_call_check",(function(){return o})),n.export(r,"_",(function(){return o}))},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"6rgu9":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",(function(){return o._}));var o=e("../esm/_create_class.js")},{"../esm/_create_class.js":"21IOT","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"21IOT":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,r){return t&&o(e.prototype,t),r&&o(e,r),e}n.defineInteropFlag(r),n.export(r,"_create_class",(function(){return s})),n.export(r,"_",(function(){return s}))},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"4zEwu":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",(function(){return o._}));var o=e("../esm/_inherits.js")},{"../esm/_inherits.js":"3pfgY","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"3pfgY":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_inherits",(function(){return s})),n.export(r,"_",(function(){return s}));var o=e("./_set_prototype_of.js");function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&(0,o._set_prototype_of)(e,t)}},{"./_set_prototype_of.js":"j4HiF","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],j4HiF:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){return o=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},o(e,t)}n.defineInteropFlag(r),n.export(r,"_set_prototype_of",(function(){return o})),n.export(r,"_",(function(){return o}))},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"9RLVS":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",(function(){return o._}));var o=e("../esm/_create_super.js")},{"../esm/_create_super.js":"86fte","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"86fte":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_create_super",(function(){return a})),n.export(r,"_",(function(){return a}));var o=e("./_get_prototype_of.js"),s=e("./_is_native_reflect_construct.js"),i=e("./_possible_constructor_return.js");function a(e){var t=(0,s._is_native_reflect_construct)();return function(){var r,n=(0,o._get_prototype_of)(e);if(t){var s=(0,o._get_prototype_of)(this).constructor;r=Reflect.construct(n,arguments,s)}else r=n.apply(this,arguments);return(0,i._possible_constructor_return)(this,r)}}},{"./_get_prototype_of.js":"dAKgy","./_is_native_reflect_construct.js":"7fioR","./_possible_constructor_return.js":"iVdhB","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],dAKgy:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}n.defineInteropFlag(r),n.export(r,"_get_prototype_of",(function(){return o})),n.export(r,"_",(function(){return o}))},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"7fioR":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(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}}n.defineInteropFlag(r),n.export(r,"_is_native_reflect_construct",(function(){return o})),n.export(r,"_",(function(){return o}))},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],iVdhB:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_possible_constructor_return",(function(){return i})),n.export(r,"_",(function(){return i}));var o=e("./_assert_this_initialized.js"),s=e("./_type_of.js");function i(e,t){return!t||"object"!==(0,s._type_of)(t)&&"function"!=typeof t?(0,o._assert_this_initialized)(e):t}},{"./_assert_this_initialized.js":"jgeid","./_type_of.js":"felZi","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],felZi:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}n.defineInteropFlag(r),n.export(r,"_type_of",(function(){return o})),n.export(r,"_",(function(){return o}))},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],ibcBd:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",(function(){return l}));var o=e("@swc/helpers/src/_class_call_check.mjs"),s=n.interopDefault(o),i=e("@swc/helpers/src/_create_class.mjs"),a=n.interopDefault(i),l=function(){"use strict";function e(){(0,s.default)(this,e)}return(0,a.default)(e,[{key:"on",value:function(e,t,r){var n=this.e||(this.e={});return(n[e]||(n[e]=[])).push({fn:t,ctx:r}),this}},{key:"once",value:function(e,t,r){var n=this;function o(){for(var s=arguments.length,i=new Array(s),a=0;a<s;a++)i[a]=arguments[a];n.off(e,o),t.apply(r,i)}return o._=t,this.on(e,o,r)}},{key:"emit",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];for(var o=((this.e||(this.e={}))[e]||[]).slice(),s=0;s<o.length;s+=1)o[s].fn.apply(o[s].ctx,r);return this}},{key:"off",value:function(e,t){var r=this.e||(this.e={}),n=r[e],o=[];if(n&&t)for(var s=0,i=n.length;s<i;s+=1)n[s].fn!==t&&n[s].fn._!==t&&o.push(n[s]);return o.length?r[e]=o:delete r[e],this}}]),e}()},{"@swc/helpers/src/_class_call_check.mjs":"iwG1v","@swc/helpers/src/_create_class.mjs":"6rgu9","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"5snTI":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return new Promise((function(t){return setTimeout(t,e)}))}function s(e){return e.reduce((function(e,t){return e.then(t)}),Promise.resolve())}function i(e){var t=e.split(".");return t.pop(),t.join(".")}function a(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}n.defineInteropFlag(r),n.export(r,"sleep",(function(){return o})),n.export(r,"runPromisesInSeries",(function(){return s})),n.export(r,"getFileName",(function(){return i})),n.export(r,"clamp",(function(){return a}))},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}]},["esZVA"],"esZVA","parcelRequire4dc0");