diff --git a/src/loaders/AudioLoader.js b/src/loaders/AudioLoader.js index 2544e2297ef575..b884756b1aa26b 100644 --- a/src/loaders/AudioLoader.js +++ b/src/loaders/AudioLoader.js @@ -60,11 +60,21 @@ class AudioLoader extends Loader { const bufferCopy = buffer.slice( 0 ); const context = AudioContext.getContext(); + + const decodeUrl = url + '#decode'; + scope.manager.itemStart( decodeUrl ); // prevent loading manager from completing too early, see #33378 + context.decodeAudioData( bufferCopy, function ( audioBuffer ) { onLoad( audioBuffer ); + scope.manager.itemEnd( decodeUrl ); + + } ).catch( function ( e ) { + + handleError( e ); + scope.manager.itemEnd( decodeUrl ); - } ).catch( handleError ); + } ); } catch ( e ) { diff --git a/src/loaders/ImageBitmapLoader.js b/src/loaders/ImageBitmapLoader.js index 6d3a2abeadb022..369118b53c2ce0 100644 --- a/src/loaders/ImageBitmapLoader.js +++ b/src/loaders/ImageBitmapLoader.js @@ -86,6 +86,9 @@ class ImageBitmapLoader extends Loader { * Sets the given loader options. The structure of the object must match the `options` parameter of * [createImageBitmap](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap). * + * Note: When caching is enabled, the cache key is based on the URL only. Loading the same URL with + * different options will return the cached result of the first request. + * * @param {Object} options - The loader options to set. * @return {ImageBitmapLoader} A reference to this image bitmap loader. */