@galacean/effects-plugin-multimedia 2.6.6 → 2.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * Description: Galacean Effects player multimedia plugin
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 云垣
6
- * Version: v2.6.6
6
+ * Version: v2.6.8
7
7
  */
8
8
 
9
9
  'use strict';
@@ -1076,7 +1076,7 @@ exports.AudioComponent = __decorate([
1076
1076
 
1077
1077
  /**
1078
1078
  * 插件版本号
1079
- */ var version = "2.6.6";
1079
+ */ var version = "2.6.8";
1080
1080
  EFFECTS.registerPlugin("video", VideoLoader, EFFECTS.VFXItem);
1081
1081
  EFFECTS.registerPlugin("audio", AudioLoader, EFFECTS.VFXItem);
1082
1082
  EFFECTS.logger.info("Plugin multimedia version: " + version + ".");
package/dist/index.min.js CHANGED
@@ -3,6 +3,6 @@
3
3
  * Description: Galacean Effects player multimedia plugin
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 云垣
6
- * Version: v2.6.6
7
- */function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@galacean/effects")):"function"==typeof define&&define.amd?define(["exports","@galacean/effects"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).ge=e.ge||{},e.ge.multimediaPlugin={}),e.ge)}(this,function(e,t){"use strict";var i=function(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(i){if("default"!==i){var o=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,o.get?o:{enumerable:!0,get:function(){return e[i]}})}}),t.default=e,Object.freeze(t)}(t);function o(e,t,i,o,n,r,s){try{var a=e[r](s),u=a.value}catch(e){i(e);return}a.done?t(u):Promise.resolve(u).then(o,n)}function n(e){return function(){var t=this,i=arguments;return new Promise(function(n,r){var s=e.apply(t,i);function a(e){o(s,n,r,a,u,"next",e)}function u(e){o(s,n,r,a,u,"throw",e)}a(void 0)})}}function r(e,t){return(r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function s(e,t){if("function"!=typeof t&&null!==t)throw 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&&r(e,t)}function a(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s}function u(e,t){var i,o,n,r={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(u){return function(a){if(i)throw TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(r=0)),r;)try{if(i=1,o&&(n=2&a[0]?o.return:a[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,a[1])).done)return n;switch(o=0,n&&(a=[2&a[0],n.value]),a[0]){case 0:case 1:n=a;break;case 4:return r.label++,{value:a[1],done:!1};case 5:r.label++,o=a[1],a=[0];continue;case 7:a=r.ops.pop(),r.trys.pop();continue;default:if(!(n=(n=r.trys).length>0&&n[n.length-1])&&(6===a[0]||2===a[0])){r=0;continue}if(3===a[0]&&(!n||a[1]>n[0]&&a[1]<n[3])){r.label=a[1];break}if(6===a[0]&&r.label<n[1]){r.label=n[1],n=a;break}if(n&&r.label<n[2]){r.label=n[2],r.ops.push(a);break}n[2]&&r.ops.pop(),r.trys.pop();continue}a=t.call(e,r)}catch(e){a=[6,e],o=0}finally{i=n=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}}function c(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(c=function(){return!!e})()}function d(e,t,i){return(d=c()?Reflect.construct:function(e,t,i){var o=[null];o.push.apply(o,t);var n=new(Function.bind.apply(e,o));return i&&r(n,i.prototype),n}).apply(null,arguments)}function A(e){return(A=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e){var t="function"==typeof Map?new Map:void 0;return(l=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 d(e,arguments,A(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),r(i,e)})(e)}"function"==typeof SuppressedError&&SuppressedError;var h={2e3:"Autoplay permission for audio and video is not enabled"};function p(e,t,i){return f.apply(this,arguments)}function f(){return(f=n(function(e,i,o){var n;return u(this,function(r){return n=o.renderLevel,[2,Promise.all(e.map(function(o){if(t.passRenderLevel(o.renderLevel,n)){var r=new URL(o.url,location.href).href;if(i===t.spec.MultimediaType.video)return t.loadVideo(r);if(i===t.spec.MultimediaType.audio)return v(r)}throw Error("Invalid "+i+" source: "+JSON.stringify(e)+".")}))]})})).apply(this,arguments)}function y(){return(y=n(function(){var e;return u(this,function(t){switch(t.label){case 0:(e=document.createElement("audio")).src="data:audio/mpeg;base64,//uQxAACFCEW8uewc8Nfu50FhJuQAGAFJCAhaIHoMhfEnBzixrwNsCGGGmyeCECGGRKWwnB0MkzGh6Hn7JLEstwCADQsJwBAAAOOhOAGAcd0gJgTBuW7HBgJBgfvEgCAEBEiOyeTDxyiyjZLEsRDyEzMz+921nJyWJZn6w8P1769e/AYCQI6tIJAkGHL16zpxhY5VeYGCdd3/93d9w4tygIO/4IHBOD8Hz/4f+IDkEHU4n8PqBMMBCQ0iXWYFnCIGqooaZHfRqOrgxuOtjmpCJCaYjmQqDz3NJUBTFWK4soYEoCumIJzIBldNhLUmAaDzhggZmSAkr9SqAIjGJFGEMCQlIPKDMuo24qZIrKDONHWGqlZbOymMy2yhCoBQywFQAgBEsETW0hCoIkqQWBINPWa3rCoEg1MiBIEiZMUiklyMfKVqoUOxIkSMtVTMzOMSBiKJQMAiWyROrf/5mq//8mkknNBQlFjiJFHKqqr//1VV6qq3vNVVbJpFHXkijM+pIoy1VX7zPOJEkmJAJaYgpqKBgASEAAIAAAAAAAAAAAA//uSxAAD1p0iZiw9OIgAADSAAAAEYAwFApgokRqIFjigukAADJhFjIUGoGFlRAycQGC5QsJJRWdRZRVWZVNYBStcjsRuaiMSgmOQOvVAKBSBY4ygsJGDCEoUEWrE3NBfUyJSSTTiPMpDUUvrhTsC7XR/G6bx2nse52G+cjBDhQW5tan7IZREJY6ULlDpCIhCIhkPDYgFaN2//3JZVZVY6UXQO2NXV1u//P/KSqyqSai7GFdu0DEqoheCVpA1v///6qqaaaYRKqIGKpiCmooGABIQAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",e.muted=!0,e.crossOrigin="anonymous",t.label=1;case 1:return t.trys.push([1,3,,4]),[4,e.play()];case 2:return t.sent(),[3,4];case 3:throw t.sent(),new g(2e3,h[2e3]);case 4:return[2]}})})).apply(this,arguments)}function v(e){return m.apply(this,arguments)}function m(){return(m=n(function(e){var i,o;return u(this,function(n){switch(n.label){case 0:if(!window.AudioContext)return[3,5];n.label=1;case 1:return n.trys.push([1,4,,5]),i=new AudioContext,[4,t.loadBinary(e)];case 2:return o=n.sent(),[4,i.decodeAudioData(o)];case 3:return[2,n.sent()];case 4:throw n.sent(),Error("Failed to load audio from "+e+".");case 5:return[2,new Promise(function(t,i){var o=new Audio;"string"==typeof e?o.src=e:o.srcObject=e,o.muted=!1,o.addEventListener("canplaythrough",function(){t(o)}),o.addEventListener("error",function(){i(Error("Failed to load audio from "+o.src+"."))}),o.load()})]}})})).apply(this,arguments)}var g=function(e){function i(o,n){var r;return(r=e.call(this,n)||this).code=o,r.name=r.constructor.name,"captureStackTrace"in Error&&t.isFunction(Error.captureStackTrace)&&Error.captureStackTrace(function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(r),i),r}return s(i,e),i}(l(Error)),b=function(e){function i(){return e.apply(this,arguments)}return s(i,e),i.processAssets=function(e,i){return void 0===i&&(i={}),n(function(){var o,n,r;return u(this,function(s){switch(s.label){case 0:return[4,p(n=void 0===(o=e.videos)?[]:o,t.spec.MultimediaType.video,i)];case 1:return r=s.sent(),[2,{assets:n,loadedAssets:r}]}})})()},i}(t.AbstractPlugin),C=function(e){function i(){return e.apply(this,arguments)}return s(i,e),i.processAssets=function(e,i){return void 0===i&&(i={}),n(function(){var o,n,r;return u(this,function(s){switch(s.label){case 0:return[4,p(n=void 0===(o=e.audios)?[]:o,t.spec.MultimediaType.audio,i)];case 1:return r=s.sent(),[2,{assets:n,loadedAssets:r}]}})})()},i}(t.AbstractPlugin),E=0;e.VideoComponent=function(e){function i(t){var i;return(i=e.call(this,t)||this).threshold=.03,i.played=!1,i.pendingPause=!1,i.isPlayLoading=!1,i.isVideoActive=!1,i.transparent=!1,i.name="MVideo"+E++,i}s(i,e);var o=i.prototype;return o.setTexture=function(e){var i=this;return n(function(){var o,n,r;return u(this,function(s){switch(s.label){case 0:if(o=i.renderer.texture,n=i.item.composition,"string"!=typeof e)return[3,2];return[4,t.Texture.fromVideo(e,i.item.engine)];case 1:return r=s.sent(),[3,3];case 2:r=e,s.label=3;case 3:if(!n)return[2];return n.textures.forEach(function(e,t){e===o&&(n.textures[t]=r)}),i.engine.removeTexture(o),i.renderer.texture=r,i.material.setTexture("_MainTex",r),i.video=r.source.video,[2]}})})()},o.onAwake=function(){var i,o,n=this;e.prototype.onAwake.call(this),null==(i=this.item.composition)||i.on("goto",function(e){if(e.time>0){var i=n.item,o=i.endBehavior,r=i.start,s=i.duration;o===t.spec.EndBehavior.freeze||o===t.spec.EndBehavior.restart?n.setCurrentTime((e.time-r)%s):e.time>=s?n.onDisable():n.setCurrentTime(e.time-r)}}),null==(o=this.item.composition)||o.on("pause",function(){n.pauseVideo()})},o.fromData=function(i){e.prototype.fromData.call(this,i);var o=i.interaction,n=i.options,r=n.video,s=n.startColor,a=n.playbackRate,u=n.volume,c=n.muted,d=n.transparent;if(this.transparent=void 0!==d&&d,r){var A=this.engine.findObject(r);if(A){this.video=A.data,this.setPlaybackRate(void 0===a?1:a),this.setVolume(void 0===u?1:u),this.setMuted(void 0!==c&&c);var l=this.item.defination.endBehavior;l===t.spec.EndBehavior.destroy||l===t.spec.EndBehavior.freeze?this.setLoop(!1):l===t.spec.EndBehavior.restart&&this.setLoop(!0)}}this.interaction=o,this.pauseVideo(),this.transparent&&this.material.enableMacro("TRANSPARENT_VIDEO",this.transparent),this.material.setColor("_Color",new t.math.Color().setFromArray(void 0===s?[1,1,1,1]:s))},o.render=function(t){e.prototype.render.call(this,t),this.renderer.texture.uploadCurrentVideoFrame()},o.onUpdate=function(i){e.prototype.onUpdate.call(this,i);var o,n=this.item,r=n.time,s=n.duration,a=n.endBehavior,u=n.composition,c=n.start;t.assertExist(u);var d=u.rootItem,A=d.endBehavior,l=d.duration,h=0===r||r===l-c||1e-10>Math.abs(l-s-r)||Math.abs(r-s)<this.threshold;r>0&&!h&&(this.setVisible(!0),this.playVideo()),(0===r||r===l-c||1e-10>Math.abs(l-s-r))&&(A===t.spec.EndBehavior.freeze?(null==(o=this.video)?void 0:o.paused)||(this.pauseVideo(),this.setCurrentTime(r)):this.setCurrentTime(r)),Math.abs(r-s)<this.threshold&&(a===t.spec.EndBehavior.freeze?this.pauseVideo():a===t.spec.EndBehavior.restart&&(this.pauseVideo(),this.setCurrentTime(0)))},o.getDuration=function(){return this.video?this.video.duration:0},o.getCurrentTime=function(){return this.video?this.video.currentTime:0},o.setThreshold=function(e){this.threshold=e},o.setCurrentTime=function(e){this.video&&(this.video.currentTime=e)},o.setLoop=function(e){this.video&&(this.video.loop=e)},o.setMuted=function(e){this.video&&this.video.muted!==e&&(this.video.muted=e)},o.setVolume=function(e){this.video&&this.video.volume!==e&&(this.video.volume=e)},o.setPlaybackRate=function(e){this.video&&this.video.playbackRate!==e&&(this.video.playbackRate=e)},o.playVideo=function(){var e=this;!this.played&&this.video&&(this.played=!0,this.isPlayLoading=!0,this.pendingPause=!1,this.video.play().then(function(){if(e.isPlayLoading=!1,!e.played||e.pendingPause){var t;e.pendingPause=!1,e.played=!1,null==(t=e.video)||t.pause()}}).catch(function(t){e.isPlayLoading=!1,e.played=!1,e.pendingPause=!1,"AbortError"!==t.name&&e.engine.renderErrors.add(t)}))},o.pauseVideo=function(){if(this.played&&(this.played=!1),this.video){if(this.isPlayLoading){this.pendingPause=!0;return}this.video.pause()}},o.onDestroy=function(){e.prototype.onDestroy.call(this),this.played=!1,this.isPlayLoading=!1,this.pendingPause=!1,this.video&&(this.video.pause(),this.video.src="",this.video.load())},o.onDisable=function(){var i;e.prototype.onDisable.call(this),this.isVideoActive=!1,this.pauseVideo(),(null==(i=this.item)?void 0:i.endBehavior)===t.spec.EndBehavior.restart&&this.setCurrentTime(0)},o.onEnable=function(){e.prototype.onEnable.call(this),this.isVideoActive=!0,this.playVideo()},i}(t.BaseRenderComponent),e.VideoComponent=a([t.effectsClass(t.spec.DataType.VideoComponent)],e.VideoComponent);var P=function(){function e(e,i){this.engine=e,this.audioSourceInfo={},this.isSupportAudioContext=!!window.AudioContext,this.options={endBehavior:t.spec.EndBehavior.destroy,duration:0},this.destroyed=!1,this.started=!1,this.initialized=!1,this.currentVolume=1,i&&this.setAudioSource(i)}var i=e.prototype;return i.setAudioSource=function(e){if((this.audio||this.audioSourceInfo.source)&&this.dispose(),function e(t,i){return null!=i&&"undefined"!=typeof Symbol&&i[Symbol.hasInstance]?!!i[Symbol.hasInstance](t):e(t,i)}(e,AudioBuffer)){var t=new AudioContext,i=t.createGain();i.connect(t.destination);var o=t.createBufferSource();o.buffer=e,o.connect(i),this.audioSourceInfo={source:o,audioContext:t,gainNode:i}}else this.audio=e;this.started&&this.play()},i.getCurrentTime=function(){if(!this.isSupportAudioContext)return(null==(e=this.audio)?void 0:e.currentTime)||0;var e,t=this.audioSourceInfo.audioContext;return(null==t?void 0:t.currentTime)||0},i.play=function(){var e,i=this;if(this.isSupportAudioContext){var o=this.audioSourceInfo,n=o.audioContext,r=o.source;if(r&&n)switch(this.options.endBehavior){case t.spec.EndBehavior.destroy:case t.spec.EndBehavior.freeze:r.start(0);break;case t.spec.EndBehavior.restart:r.loop=!0,r.loopStart=0,r.loopEnd=this.options.duration,r.start(0)}this.started=!0}else null==(e=this.audio)||e.play().catch(function(e){i.engine.renderErrors.add(e)})},i.pause=function(){if(this.isSupportAudioContext){var e,t=this.audioSourceInfo,i=t.source,o=t.audioContext;o&&o.currentTime>0&&this.started&&(null==i||i.stop())}else null==(e=this.audio)||e.pause()},i.setVolume=function(e){if(this.isSupportAudioContext){var t=this.audioSourceInfo.gainNode;t&&(t.gain.value=e,this.currentVolume=e)}else this.audio&&(this.audio.volume=e,this.currentVolume=e)},i.setPlaybackRate=function(e){if(this.isSupportAudioContext){var t=this.audioSourceInfo.source;t&&(t.playbackRate.value=e)}else this.audio&&(this.audio.playbackRate=e)},i.setLoop=function(e){if(this.isSupportAudioContext){var t=this.audioSourceInfo.source;t?t.loop=e:this.engine.renderErrors.add(Error("Audio source is not found."))}else this.audio&&(this.audio.loop=e)},i.setOptions=function(e){this.initialized||(this.options=e,this.initialized=!0)},i.setMuted=function(e){if(this.isSupportAudioContext){var t=this.audioSourceInfo.gainNode,i=e?0:this.currentVolume;t&&(t.gain.value=i)}else this.audio&&(this.audio.muted=e)},i.dispose=function(){var e,t=this;if(!this.destroyed){if(this.isSupportAudioContext){var i=this.audioSourceInfo,o=i.audioContext,n=i.source;this.started&&(null==n||n.stop()),null==o||o.close().catch(function(e){t.engine.renderErrors.add(e)})}else null==(e=this.audio)||e.pause();this.destroyed=!0}},e}();e.AudioComponent=function(e){function i(){var t;return t=e.apply(this,arguments)||this,t.isVideoPlay=!1,t.threshold=.03,t}s(i,e);var o=i.prototype;return o.onUpdate=function(i){e.prototype.onUpdate.call(this,i);var o=this.item,n=o.time,r=o.duration,s=o.endBehavior;this.audioPlayer.setOptions({duration:r,endBehavior:s}),n>=0&&!this.isVideoPlay&&(this.audioPlayer.play(),this.isVideoPlay=!0),Math.abs(n-r)<this.threshold&&s===t.spec.EndBehavior.destroy&&this.audioPlayer.pause()},o.fromData=function(t){e.prototype.fromData.call(this,t);var i=t.options,o=i.playbackRate,n=i.muted,r=i.volume,s=void 0;i.audio&&(s=this.engine.findObject(i.audio).data),this.audioPlayer=new P(this.engine,s),this.audioPlayer.pause(),this.setPlaybackRate(void 0===o?1:o),this.setMuted(void 0!==n&&n),this.setVolume(void 0===r?1:r)},o.setAudioSource=function(e){this.audioPlayer.setAudioSource(e)},o.setVolume=function(e){this.audioPlayer.setVolume(e)},o.getCurrentTime=function(){return this.audioPlayer.getCurrentTime()},o.setMuted=function(e){this.audioPlayer.setMuted(e)},o.setLoop=function(e){this.audioPlayer.setLoop(e)},o.setPlaybackRate=function(e){this.audioPlayer.setPlaybackRate(e)},o.onDisable=function(){e.prototype.onDisable.call(this),this.audioPlayer.pause()},o.dispose=function(){e.prototype.dispose.call(this),this.audioPlayer.dispose()},i}(t.RendererComponent),e.AudioComponent=a([t.effectsClass(t.spec.DataType.AudioComponent)],e.AudioComponent);var S="2.6.6";t.registerPlugin("video",b,t.VFXItem),t.registerPlugin("audio",C,t.VFXItem),t.logger.info("Plugin multimedia version: "+S+"."),S!==i.version&&console.error("注意:请统一 Multimedia 插件与 Player 版本,不统一的版本混用会有不可预知的后果!","\nAttention: Please ensure the Multimedia plugin is synchronized with the Player version. Mixing and matching incompatible versions may result in unpredictable consequences!"),e.AudioPlayer=P,e.MultimediaError=g,e.checkAutoplayPermission=function(){return y.apply(this,arguments)},e.loadAudio=v,e.multimediaErrorDisplayMessageMap={2e3:"音视频自动播放权限未开启"},e.multimediaErrorMessageMap=h,e.processMultimedia=p,e.version=S,Object.defineProperty(e,"__esModule",{value:!0})});
6
+ * Version: v2.6.8
7
+ */function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@galacean/effects")):"function"==typeof define&&define.amd?define(["exports","@galacean/effects"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).ge=e.ge||{},e.ge.multimediaPlugin={}),e.ge)}(this,function(e,t){"use strict";var i=function(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(i){if("default"!==i){var o=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,o.get?o:{enumerable:!0,get:function(){return e[i]}})}}),t.default=e,Object.freeze(t)}(t);function o(e,t,i,o,n,r,s){try{var a=e[r](s),u=a.value}catch(e){i(e);return}a.done?t(u):Promise.resolve(u).then(o,n)}function n(e){return function(){var t=this,i=arguments;return new Promise(function(n,r){var s=e.apply(t,i);function a(e){o(s,n,r,a,u,"next",e)}function u(e){o(s,n,r,a,u,"throw",e)}a(void 0)})}}function r(e,t){return(r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function s(e,t){if("function"!=typeof t&&null!==t)throw 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&&r(e,t)}function a(e,t,i,o){var n,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(r<3?n(s):r>3?n(t,i,s):n(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s}function u(e,t){var i,o,n,r={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(u){return function(a){if(i)throw TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(r=0)),r;)try{if(i=1,o&&(n=2&a[0]?o.return:a[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,a[1])).done)return n;switch(o=0,n&&(a=[2&a[0],n.value]),a[0]){case 0:case 1:n=a;break;case 4:return r.label++,{value:a[1],done:!1};case 5:r.label++,o=a[1],a=[0];continue;case 7:a=r.ops.pop(),r.trys.pop();continue;default:if(!(n=(n=r.trys).length>0&&n[n.length-1])&&(6===a[0]||2===a[0])){r=0;continue}if(3===a[0]&&(!n||a[1]>n[0]&&a[1]<n[3])){r.label=a[1];break}if(6===a[0]&&r.label<n[1]){r.label=n[1],n=a;break}if(n&&r.label<n[2]){r.label=n[2],r.ops.push(a);break}n[2]&&r.ops.pop(),r.trys.pop();continue}a=t.call(e,r)}catch(e){a=[6,e],o=0}finally{i=n=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}}function c(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(c=function(){return!!e})()}function d(e,t,i){return(d=c()?Reflect.construct:function(e,t,i){var o=[null];o.push.apply(o,t);var n=new(Function.bind.apply(e,o));return i&&r(n,i.prototype),n}).apply(null,arguments)}function A(e){return(A=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e){var t="function"==typeof Map?new Map:void 0;return(l=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 d(e,arguments,A(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),r(i,e)})(e)}"function"==typeof SuppressedError&&SuppressedError;var h={2e3:"Autoplay permission for audio and video is not enabled"};function p(e,t,i){return f.apply(this,arguments)}function f(){return(f=n(function(e,i,o){var n;return u(this,function(r){return n=o.renderLevel,[2,Promise.all(e.map(function(o){if(t.passRenderLevel(o.renderLevel,n)){var r=new URL(o.url,location.href).href;if(i===t.spec.MultimediaType.video)return t.loadVideo(r);if(i===t.spec.MultimediaType.audio)return v(r)}throw Error("Invalid "+i+" source: "+JSON.stringify(e)+".")}))]})})).apply(this,arguments)}function y(){return(y=n(function(){var e;return u(this,function(t){switch(t.label){case 0:(e=document.createElement("audio")).src="data:audio/mpeg;base64,//uQxAACFCEW8uewc8Nfu50FhJuQAGAFJCAhaIHoMhfEnBzixrwNsCGGGmyeCECGGRKWwnB0MkzGh6Hn7JLEstwCADQsJwBAAAOOhOAGAcd0gJgTBuW7HBgJBgfvEgCAEBEiOyeTDxyiyjZLEsRDyEzMz+921nJyWJZn6w8P1769e/AYCQI6tIJAkGHL16zpxhY5VeYGCdd3/93d9w4tygIO/4IHBOD8Hz/4f+IDkEHU4n8PqBMMBCQ0iXWYFnCIGqooaZHfRqOrgxuOtjmpCJCaYjmQqDz3NJUBTFWK4soYEoCumIJzIBldNhLUmAaDzhggZmSAkr9SqAIjGJFGEMCQlIPKDMuo24qZIrKDONHWGqlZbOymMy2yhCoBQywFQAgBEsETW0hCoIkqQWBINPWa3rCoEg1MiBIEiZMUiklyMfKVqoUOxIkSMtVTMzOMSBiKJQMAiWyROrf/5mq//8mkknNBQlFjiJFHKqqr//1VV6qq3vNVVbJpFHXkijM+pIoy1VX7zPOJEkmJAJaYgpqKBgASEAAIAAAAAAAAAAAA//uSxAAD1p0iZiw9OIgAADSAAAAEYAwFApgokRqIFjigukAADJhFjIUGoGFlRAycQGC5QsJJRWdRZRVWZVNYBStcjsRuaiMSgmOQOvVAKBSBY4ygsJGDCEoUEWrE3NBfUyJSSTTiPMpDUUvrhTsC7XR/G6bx2nse52G+cjBDhQW5tan7IZREJY6ULlDpCIhCIhkPDYgFaN2//3JZVZVY6UXQO2NXV1u//P/KSqyqSai7GFdu0DEqoheCVpA1v///6qqaaaYRKqIGKpiCmooGABIQAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",e.muted=!0,e.crossOrigin="anonymous",t.label=1;case 1:return t.trys.push([1,3,,4]),[4,e.play()];case 2:return t.sent(),[3,4];case 3:throw t.sent(),new g(2e3,h[2e3]);case 4:return[2]}})})).apply(this,arguments)}function v(e){return m.apply(this,arguments)}function m(){return(m=n(function(e){var i,o;return u(this,function(n){switch(n.label){case 0:if(!window.AudioContext)return[3,5];n.label=1;case 1:return n.trys.push([1,4,,5]),i=new AudioContext,[4,t.loadBinary(e)];case 2:return o=n.sent(),[4,i.decodeAudioData(o)];case 3:return[2,n.sent()];case 4:throw n.sent(),Error("Failed to load audio from "+e+".");case 5:return[2,new Promise(function(t,i){var o=new Audio;"string"==typeof e?o.src=e:o.srcObject=e,o.muted=!1,o.addEventListener("canplaythrough",function(){t(o)}),o.addEventListener("error",function(){i(Error("Failed to load audio from "+o.src+"."))}),o.load()})]}})})).apply(this,arguments)}var g=function(e){function i(o,n){var r;return(r=e.call(this,n)||this).code=o,r.name=r.constructor.name,"captureStackTrace"in Error&&t.isFunction(Error.captureStackTrace)&&Error.captureStackTrace(function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(r),i),r}return s(i,e),i}(l(Error)),b=function(e){function i(){return e.apply(this,arguments)}return s(i,e),i.processAssets=function(e,i){return void 0===i&&(i={}),n(function(){var o,n,r;return u(this,function(s){switch(s.label){case 0:return[4,p(n=void 0===(o=e.videos)?[]:o,t.spec.MultimediaType.video,i)];case 1:return r=s.sent(),[2,{assets:n,loadedAssets:r}]}})})()},i}(t.AbstractPlugin),C=function(e){function i(){return e.apply(this,arguments)}return s(i,e),i.processAssets=function(e,i){return void 0===i&&(i={}),n(function(){var o,n,r;return u(this,function(s){switch(s.label){case 0:return[4,p(n=void 0===(o=e.audios)?[]:o,t.spec.MultimediaType.audio,i)];case 1:return r=s.sent(),[2,{assets:n,loadedAssets:r}]}})})()},i}(t.AbstractPlugin),E=0;e.VideoComponent=function(e){function i(t){var i;return(i=e.call(this,t)||this).threshold=.03,i.played=!1,i.pendingPause=!1,i.isPlayLoading=!1,i.isVideoActive=!1,i.transparent=!1,i.name="MVideo"+E++,i}s(i,e);var o=i.prototype;return o.setTexture=function(e){var i=this;return n(function(){var o,n,r;return u(this,function(s){switch(s.label){case 0:if(o=i.renderer.texture,n=i.item.composition,"string"!=typeof e)return[3,2];return[4,t.Texture.fromVideo(e,i.item.engine)];case 1:return r=s.sent(),[3,3];case 2:r=e,s.label=3;case 3:if(!n)return[2];return n.textures.forEach(function(e,t){e===o&&(n.textures[t]=r)}),i.engine.removeTexture(o),i.renderer.texture=r,i.material.setTexture("_MainTex",r),i.video=r.source.video,[2]}})})()},o.onAwake=function(){var i,o,n=this;e.prototype.onAwake.call(this),null==(i=this.item.composition)||i.on("goto",function(e){if(e.time>0){var i=n.item,o=i.endBehavior,r=i.start,s=i.duration;o===t.spec.EndBehavior.freeze||o===t.spec.EndBehavior.restart?n.setCurrentTime((e.time-r)%s):e.time>=s?n.onDisable():n.setCurrentTime(e.time-r)}}),null==(o=this.item.composition)||o.on("pause",function(){n.pauseVideo()})},o.fromData=function(i){e.prototype.fromData.call(this,i);var o=i.interaction,n=i.options,r=n.video,s=n.startColor,a=n.playbackRate,u=n.volume,c=n.muted,d=n.transparent;if(this.transparent=void 0!==d&&d,r){var A=this.engine.findObject(r);if(A){this.video=A.data,this.setPlaybackRate(void 0===a?1:a),this.setVolume(void 0===u?1:u),this.setMuted(void 0!==c&&c);var l=this.item.defination.endBehavior;l===t.spec.EndBehavior.destroy||l===t.spec.EndBehavior.freeze?this.setLoop(!1):l===t.spec.EndBehavior.restart&&this.setLoop(!0)}}this.interaction=o,this.pauseVideo(),this.transparent&&this.material.enableMacro("TRANSPARENT_VIDEO",this.transparent),this.material.setColor("_Color",new t.math.Color().setFromArray(void 0===s?[1,1,1,1]:s))},o.render=function(t){e.prototype.render.call(this,t),this.renderer.texture.uploadCurrentVideoFrame()},o.onUpdate=function(i){e.prototype.onUpdate.call(this,i);var o,n=this.item,r=n.time,s=n.duration,a=n.endBehavior,u=n.composition,c=n.start;t.assertExist(u);var d=u.rootItem,A=d.endBehavior,l=d.duration,h=0===r||r===l-c||1e-10>Math.abs(l-s-r)||Math.abs(r-s)<this.threshold;r>0&&!h&&(this.setVisible(!0),this.playVideo()),(0===r||r===l-c||1e-10>Math.abs(l-s-r))&&(A===t.spec.EndBehavior.freeze?(null==(o=this.video)?void 0:o.paused)||(this.pauseVideo(),this.setCurrentTime(r)):this.setCurrentTime(r)),Math.abs(r-s)<this.threshold&&(a===t.spec.EndBehavior.freeze?this.pauseVideo():a===t.spec.EndBehavior.restart&&(this.pauseVideo(),this.setCurrentTime(0)))},o.getDuration=function(){return this.video?this.video.duration:0},o.getCurrentTime=function(){return this.video?this.video.currentTime:0},o.setThreshold=function(e){this.threshold=e},o.setCurrentTime=function(e){this.video&&(this.video.currentTime=e)},o.setLoop=function(e){this.video&&(this.video.loop=e)},o.setMuted=function(e){this.video&&this.video.muted!==e&&(this.video.muted=e)},o.setVolume=function(e){this.video&&this.video.volume!==e&&(this.video.volume=e)},o.setPlaybackRate=function(e){this.video&&this.video.playbackRate!==e&&(this.video.playbackRate=e)},o.playVideo=function(){var e=this;!this.played&&this.video&&(this.played=!0,this.isPlayLoading=!0,this.pendingPause=!1,this.video.play().then(function(){if(e.isPlayLoading=!1,!e.played||e.pendingPause){var t;e.pendingPause=!1,e.played=!1,null==(t=e.video)||t.pause()}}).catch(function(t){e.isPlayLoading=!1,e.played=!1,e.pendingPause=!1,"AbortError"!==t.name&&e.engine.renderErrors.add(t)}))},o.pauseVideo=function(){if(this.played&&(this.played=!1),this.video){if(this.isPlayLoading){this.pendingPause=!0;return}this.video.pause()}},o.onDestroy=function(){e.prototype.onDestroy.call(this),this.played=!1,this.isPlayLoading=!1,this.pendingPause=!1,this.video&&(this.video.pause(),this.video.src="",this.video.load())},o.onDisable=function(){var i;e.prototype.onDisable.call(this),this.isVideoActive=!1,this.pauseVideo(),(null==(i=this.item)?void 0:i.endBehavior)===t.spec.EndBehavior.restart&&this.setCurrentTime(0)},o.onEnable=function(){e.prototype.onEnable.call(this),this.isVideoActive=!0,this.playVideo()},i}(t.BaseRenderComponent),e.VideoComponent=a([t.effectsClass(t.spec.DataType.VideoComponent)],e.VideoComponent);var P=function(){function e(e,i){this.engine=e,this.audioSourceInfo={},this.isSupportAudioContext=!!window.AudioContext,this.options={endBehavior:t.spec.EndBehavior.destroy,duration:0},this.destroyed=!1,this.started=!1,this.initialized=!1,this.currentVolume=1,i&&this.setAudioSource(i)}var i=e.prototype;return i.setAudioSource=function(e){if((this.audio||this.audioSourceInfo.source)&&this.dispose(),function e(t,i){return null!=i&&"undefined"!=typeof Symbol&&i[Symbol.hasInstance]?!!i[Symbol.hasInstance](t):e(t,i)}(e,AudioBuffer)){var t=new AudioContext,i=t.createGain();i.connect(t.destination);var o=t.createBufferSource();o.buffer=e,o.connect(i),this.audioSourceInfo={source:o,audioContext:t,gainNode:i}}else this.audio=e;this.started&&this.play()},i.getCurrentTime=function(){if(!this.isSupportAudioContext)return(null==(e=this.audio)?void 0:e.currentTime)||0;var e,t=this.audioSourceInfo.audioContext;return(null==t?void 0:t.currentTime)||0},i.play=function(){var e,i=this;if(this.isSupportAudioContext){var o=this.audioSourceInfo,n=o.audioContext,r=o.source;if(r&&n)switch(this.options.endBehavior){case t.spec.EndBehavior.destroy:case t.spec.EndBehavior.freeze:r.start(0);break;case t.spec.EndBehavior.restart:r.loop=!0,r.loopStart=0,r.loopEnd=this.options.duration,r.start(0)}this.started=!0}else null==(e=this.audio)||e.play().catch(function(e){i.engine.renderErrors.add(e)})},i.pause=function(){if(this.isSupportAudioContext){var e,t=this.audioSourceInfo,i=t.source,o=t.audioContext;o&&o.currentTime>0&&this.started&&(null==i||i.stop())}else null==(e=this.audio)||e.pause()},i.setVolume=function(e){if(this.isSupportAudioContext){var t=this.audioSourceInfo.gainNode;t&&(t.gain.value=e,this.currentVolume=e)}else this.audio&&(this.audio.volume=e,this.currentVolume=e)},i.setPlaybackRate=function(e){if(this.isSupportAudioContext){var t=this.audioSourceInfo.source;t&&(t.playbackRate.value=e)}else this.audio&&(this.audio.playbackRate=e)},i.setLoop=function(e){if(this.isSupportAudioContext){var t=this.audioSourceInfo.source;t?t.loop=e:this.engine.renderErrors.add(Error("Audio source is not found."))}else this.audio&&(this.audio.loop=e)},i.setOptions=function(e){this.initialized||(this.options=e,this.initialized=!0)},i.setMuted=function(e){if(this.isSupportAudioContext){var t=this.audioSourceInfo.gainNode,i=e?0:this.currentVolume;t&&(t.gain.value=i)}else this.audio&&(this.audio.muted=e)},i.dispose=function(){var e,t=this;if(!this.destroyed){if(this.isSupportAudioContext){var i=this.audioSourceInfo,o=i.audioContext,n=i.source;this.started&&(null==n||n.stop()),null==o||o.close().catch(function(e){t.engine.renderErrors.add(e)})}else null==(e=this.audio)||e.pause();this.destroyed=!0}},e}();e.AudioComponent=function(e){function i(){var t;return t=e.apply(this,arguments)||this,t.isVideoPlay=!1,t.threshold=.03,t}s(i,e);var o=i.prototype;return o.onUpdate=function(i){e.prototype.onUpdate.call(this,i);var o=this.item,n=o.time,r=o.duration,s=o.endBehavior;this.audioPlayer.setOptions({duration:r,endBehavior:s}),n>=0&&!this.isVideoPlay&&(this.audioPlayer.play(),this.isVideoPlay=!0),Math.abs(n-r)<this.threshold&&s===t.spec.EndBehavior.destroy&&this.audioPlayer.pause()},o.fromData=function(t){e.prototype.fromData.call(this,t);var i=t.options,o=i.playbackRate,n=i.muted,r=i.volume,s=void 0;i.audio&&(s=this.engine.findObject(i.audio).data),this.audioPlayer=new P(this.engine,s),this.audioPlayer.pause(),this.setPlaybackRate(void 0===o?1:o),this.setMuted(void 0!==n&&n),this.setVolume(void 0===r?1:r)},o.setAudioSource=function(e){this.audioPlayer.setAudioSource(e)},o.setVolume=function(e){this.audioPlayer.setVolume(e)},o.getCurrentTime=function(){return this.audioPlayer.getCurrentTime()},o.setMuted=function(e){this.audioPlayer.setMuted(e)},o.setLoop=function(e){this.audioPlayer.setLoop(e)},o.setPlaybackRate=function(e){this.audioPlayer.setPlaybackRate(e)},o.onDisable=function(){e.prototype.onDisable.call(this),this.audioPlayer.pause()},o.dispose=function(){e.prototype.dispose.call(this),this.audioPlayer.dispose()},i}(t.RendererComponent),e.AudioComponent=a([t.effectsClass(t.spec.DataType.AudioComponent)],e.AudioComponent);var S="2.6.8";t.registerPlugin("video",b,t.VFXItem),t.registerPlugin("audio",C,t.VFXItem),t.logger.info("Plugin multimedia version: "+S+"."),S!==i.version&&console.error("注意:请统一 Multimedia 插件与 Player 版本,不统一的版本混用会有不可预知的后果!","\nAttention: Please ensure the Multimedia plugin is synchronized with the Player version. Mixing and matching incompatible versions may result in unpredictable consequences!"),e.AudioPlayer=P,e.MultimediaError=g,e.checkAutoplayPermission=function(){return y.apply(this,arguments)},e.loadAudio=v,e.multimediaErrorDisplayMessageMap={2e3:"音视频自动播放权限未开启"},e.multimediaErrorMessageMap=h,e.processMultimedia=p,e.version=S,Object.defineProperty(e,"__esModule",{value:!0})});
8
8
  //# sourceMappingURL=index.min.js.map
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@
3
3
  * Description: Galacean Effects player multimedia plugin
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 云垣
6
- * Version: v2.6.6
6
+ * Version: v2.6.8
7
7
  */
8
8
 
9
9
  import * as EFFECTS from '@galacean/effects';
@@ -1053,7 +1053,7 @@ AudioComponent = __decorate([
1053
1053
 
1054
1054
  /**
1055
1055
  * 插件版本号
1056
- */ var version = "2.6.6";
1056
+ */ var version = "2.6.8";
1057
1057
  registerPlugin("video", VideoLoader, VFXItem);
1058
1058
  registerPlugin("audio", AudioLoader, VFXItem);
1059
1059
  logger.info("Plugin multimedia version: " + version + ".");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/effects-plugin-multimedia",
3
- "version": "2.6.6",
3
+ "version": "2.6.8",
4
4
  "description": "Galacean Effects player multimedia plugin",
5
5
  "module": "./dist/index.mjs",
6
6
  "main": "./dist/index.js",
@@ -28,7 +28,7 @@
28
28
  "registry": "https://registry.npmjs.org"
29
29
  },
30
30
  "devDependencies": {
31
- "@galacean/effects": "2.6.6"
31
+ "@galacean/effects": "2.6.8"
32
32
  },
33
33
  "scripts": {
34
34
  "dev": "vite",