Every once in a while, a strange phenomenon will happen where I play a Preloaded sound but nothing comes out of the speaker.
I use sound:Play() to start playing the sound. While debugging, I found that sound.IsPlaying is true, but sound.IsLoaded is false.
That explains why I'm not hearing anything, but earlier in the code I preloaded the sounds using this loop:
for _, v in pairs (SoundFolder:GetChildren()) do
ContentProvider:Preload(v.SoundId)
end
while ContentProvider.RequestQueueSize > 0 do
wait();
end
This loop takes every sound object I stored on a client based folder and Preloads their sound into the system. It waits until their sound is loaded.
Why is this not working?

4 comments
Is this in script or localscript?
localscript
Are you trying to preload each asset in a table?
I pull the asset ID from each object, then I preload it. The objects are in a File Object which I am looping through