UNPKG

788 BJavaScriptView Raw
1import { AudioContext } from '../audio/AudioContext.js';
2import { FileLoader } from './FileLoader.js';
3import { DefaultLoadingManager } from './LoadingManager.js';
4
5/**
6 * @author Reece Aaron Lecrivain / http://reecenotes.com/
7 */
8
9function AudioLoader( manager ) {
10
11 this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager;
12
13}
14
15Object.assign( AudioLoader.prototype, {
16
17 load: function ( url, onLoad, onProgress, onError ) {
18
19 var loader = new FileLoader( this.manager );
20 loader.setResponseType( 'arraybuffer' );
21 loader.load( url, function ( buffer ) {
22
23 var context = AudioContext.getContext();
24
25 context.decodeAudioData( buffer, function ( audioBuffer ) {
26
27 onLoad( audioBuffer );
28
29 } );
30
31 }, onProgress, onError );
32
33 }
34
35} );
36
37
38export { AudioLoader };