IsLoaded is intermittently returning False for successfully loaded audio

Hi team,

For the last few months, since October-November 2023, our music making game Splash has been receiving reports that audio is intermittently not loading for our users.

When we have dug into the affected code, it would usually be any code that did an audio.IsLoaded check before playing. For example:

if audio.IsLoaded then
    audio:Play()
end

What is surprising is that when we remove the IsLoaded check, the audio plays fine, so it tells us that the audio is loaded. However, not having accurate IsLoaded makes it hard to synchronise audio since Splash requires audio to play only once loaded for beat synchronisation.

We just discovered @skedgyedgy has been reporting the same issue since Oct 2023; see thread . That lines up with how long our users have been reporting it to us.

If it helps, there was a period between Nov 15 and Dec 6th where the issue completely went away. Then it came back and has been an issue since. Thanks.

8 Likes

Thanks for the report! We’ll follow up when we have an update for you.

1 Like

Thanks for the bug report. After an audio asset is successfully loaded, it can be unloaded when the Roblox app is under memory pressure. We’ve internally talked about implementing some kind of “importance hints” API - that way you could designate certain assets as higher-priority than others. There are a lot of gotchas here though, so we want to be thoughtful in how we might expose this.

In the meantime, a workaround is to set PlaybackSpeed to zero and then play the audio - this will cause it to remain in memory but not play, and then when you’re ready to actually play the sound you can set PlaybackSpeed to 1. Keep in mind, this could have performance impacts if done with a high enough quantity or in certain situations.

Please let us know if this doesn’t address your needs.