THREE.Audio.prototype=Object.assign(Object.create(THREE.Object3D.prototype),{constructor:THREE.Audio,getOutput:function(){returnthis.gain},setNodeSource:function(a){this.hasPlaybackControl=!1;this.sourceType="audioNode";this.source=a;this.connect();returnthis},setBuffer:function(a){this.source.buffer=a;this.sourceType="buffer";this.autoplay&&this.play();returnthis},play:function(){if(!0===this.isPlaying)console.warn("THREE.Audio: Audio is already playing.");elseif(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");
else{vara=this.context.createBufferSource();a.buffer=this.source.buffer;a.loop=this.source.loop;a.onended=this.source.onended;a.start(0,this.startTime);a.playbackRate.value=this.playbackRate;this.isPlaying=!0;this.source=a;this.connect()}},pause:function(){!1===this.hasPlaybackControl?console.warn("THREE.Audio: this Audio has no playback control."):(this.source.stop(),this.startTime=this.context.currentTime)},stop:function(){!1===this.hasPlaybackControl?console.warn("THREE.Audio: this Audio has no playback control."):
this.filter=a},setPlaybackRate:function(a){!1===this.hasPlaybackControl?console.warn("THREE.Audio: this Audio has no playback control."):(this.playbackRate=a,!0===this.isPlaying&&(this.source.playbackRate.value=this.playbackRate))},getPlaybackRate:function(){returnthis.playbackRate},onEnded:function(){this.isPlaying=!1},getLoop:function(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.source.loop},setLoop:function(a){!1===this.hasPlaybackControl?
console.warn("THREE.Audio: this Audio has no playback control."):this.source.loop=a},getVolume:function(){returnthis.gain.gain.value},setVolume:function(a){this.gain.gain.value=a}});THREE.AudioAnalyser=function(a,b){this.analyser=a.context.createAnalyser();this.analyser.fftSize=void0!==b?b:2048;this.data=newUint8Array(this.analyser.frequencyBinCount);a.getOutput().connect(this.analyser)};
else{vara=this.context.createBufferSource();a.buffer=this.source.buffer;a.loop=this.source.loop;a.onended=this.source.onended;a.start(0,this.startTime);a.playbackRate.value=this.playbackRate;this.isPlaying=!0;this.source=a;returnthis.connect()}},pause:function(){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");elsereturnthis.source.stop(),this.startTime=this.context.currentTime,this},stop:function(){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");
this.filters[this.filters.length-1].disconnect(this.getOutput())}elsethis.source.disconnect(this.getOutput());returnthis},getFilters:function(){returnthis.filters},setFilters:function(a){a||(a=[]);!0===this.isPlaying?(this.disconnect(),this.filters=a,this.connect()):this.filters=a;returnthis},getFilter:function(){returnthis.getFilters()[0]},setFilter:function(a){returnthis.setFilters(a?[a]:[])},setPlaybackRate:function(a){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");
elsereturnthis.playbackRate=a,!0===this.isPlaying&&(this.source.playbackRate.value=this.playbackRate),this},getPlaybackRate:function(){returnthis.playbackRate},onEnded:function(){this.isPlaying=!1},getLoop:function(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.source.loop},setLoop:function(a){!1===this.hasPlaybackControl?console.warn("THREE.Audio: this Audio has no playback control."):this.source.loop=a},getVolume:function(){returnthis.gain.gain.value},