Comments (4)
Oh good catch! Yeah the play should probably wait for the initial preload instead of kicking off another request.
from sound.
I ran into this as I wanted to defer loading additional bgm tracks as much as possible, but especially for the first track this ends up in a sequence of creating a Sound object with preload
property set to true
and a call to Sound.play()
pretty much immediately afterwards. At first I thought I oversaw something in the documentation 😄
To circumvent the issue I now check whether the track media is already loaded and if not defer the Sound.play()
call to the loaded
callback.
Some ideas for the fix: Both IMedia implementations seem to be designed for one fixed asset (associated to a single Sound instance) and as such calling IMedia.load()
more than once could be ignored (leaving the question how to deal with the additional callback) or probably better lead to an error due to invalid usage.
Sound should probably either way check whether media is already loading and skip another load call if it's the case. For that Sound._preload()
may be the place to check that and skip another media load call, but it should keep track of the additional optional loaded
callback for consistency.
from sound.
Seems like you've already dug into the source on this one. If you want to make a PR, happy to see it. We are doing more work in the PixiJS main project, so I likely won't be able to address this right away.
from sound.
I can try, will probably take a few days to find some time though, too.
The initial error backtrace was in this case little helpful, so I went through the code when I tried to figure out what's going on.
from sound.
Related Issues (20)
- Create a unified SoundCache
- PixiJS Deprecation Warning: Loader.registerPlugin() is deprecated, use extensions.add() instead. Deprecated since v6.5.0 HOT 1
- Sound Library not stopping paused Sounds on stop all
- Does the new @pixi/assets loader support loading sounds? HOT 2
- Version 5 error HOT 2
- Problem with dependencies v5.0.0 HOT 1
- Assets Loader with Sound should use the exact order of the audio formats defined HOT 2
- Format fallback with different filename bases HOT 1
- Not able to load base64 sound assets on production HOT 8
- v4.x doesn't respect `utils.supported`, which loads everything in `utils.extensions` anyway HOT 2
- Bug: Failed to set the 'buffer' HOT 4
- undefined is not an object (evaluating 'this.find(t).play') HOT 1
- Sound is suspended while window loses focus HOT 6
- `disableAutoPause` doesn't disable auto-resume HOT 4
- Sound does not work well on some browsers on iOS HOT 4
- Parser for Pixi Assets does not register properly HOT 2
- Uncaught TypeError just by following the Tutorial HOT 2
- Calling .stop() on a sound whilst the browser window is blurred does not actually stop the sound HOT 3
- Sine tone generated is one octave too low
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sound.