audio: Support loading external MP3s#6738
Conversation
FWIW I think this approach could be problematic on Safari (at least on iOS and iPadOS) because unlike all other browsers, each new |
Do you know if this includes playing the audio with a |
|
Using In case this could be useful, I'm attaching the tests I've made:
|
|
I'd just like to bring up again one of the problems Ruffle faces on web even with embedded MP3s: the |
|
|
|
With this PR, the external MP3 sound effects in the Flexitwins app work perfectly, but the background music (techno.mp3) that's supposed to play on the game instructions screen doesn't play. I found that this is because the offset and loop parameters of |
|
This looks good to me, just a few observations/questions:
|
Yes, with the latest updates the extension is working perfectly now! It doesn't seem to work in the desktop app yet though. |
|
Did some more testing:
|
12a8b2f to
83ac122
Compare
999624a to
8a07645
Compare
|
Thank you! Those cases should be fixed, although possibly the layering sounds has some edge cases still (controlled by the |
|
Tested some good old MP3 players and they all worked great. 👍 https://www.argentine-music.com/ still has issues and seems to be one of these edge cases though. The main SWF loads a music when the file is ready to play, then the user can load another music from an inner SWF by clicking on a button. In any case, the Steps to reproduce the issues on argentine-music.com
|
|
Thanks for testing! It seems like the behavior with So in argentine-music, there are separate I'm thinking we'll need something like |
`Sound.loadSound` with `isStreaming` of true causes any previously playing audio on the same object to be stopped.
8a07645 to
82fc420
Compare
AudioBackend::register_mp3to register MP3 dataTODO:
Figure out what to do on web.web: Decode and mix audio via Rust #4273 switched to decoding audio via Rust, so the web target should operate the same as desktop.