1 | import { AudioContext } from '../audio/AudioContext.js';
|
2 | import { FileLoader } from './FileLoader.js';
|
3 | import { DefaultLoadingManager } from './LoadingManager.js';
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | function AudioLoader( manager ) {
|
10 |
|
11 | this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager;
|
12 |
|
13 | }
|
14 |
|
15 | Object.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 |
|
38 | export { AudioLoader };
|