AudioLoader.js 771 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { getAudioContext } from '../audio/AudioContext';
  2. import { XHRLoader } from './XHRLoader';
  3. import { DefaultLoadingManager } from './LoadingManager';
  4. /**
  5. * @author Reece Aaron Lecrivain / http://reecenotes.com/
  6. */
  7. function AudioLoader( manager ) {
  8. this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager;
  9. }
  10. Object.assign( AudioLoader.prototype, {
  11. load: function ( url, onLoad, onProgress, onError ) {
  12. var loader = new XHRLoader( this.manager );
  13. loader.setResponseType( 'arraybuffer' );
  14. loader.load( url, function ( buffer ) {
  15. var context = getAudioContext();
  16. context.decodeAudioData( buffer, function ( audioBuffer ) {
  17. onLoad( audioBuffer );
  18. } );
  19. }, onProgress, onError );
  20. }
  21. } );
  22. export { AudioLoader };
粤ICP备19079148号