Jump to content
Sign in to follow this  
Deep Semaphore

llPreloadSound, llPlaySound issues

Recommended Posts

Hello,

I made a 3D board game but while making it I came across one annoying issue when implementing the sounds. I find that even sounds are preloaded, the first time they are played often they do not play. To fix this issue, I first forced a sound play for all sounds involved in the game so that when they are really required they would work fine. Has anyone else come across this? Let me how to fix this ... I remember this behavior since a few years back ... but this is still there.

btw this is the game am working on.

Share this post


Link to post
Share on other sites

When you preload sounds, you are preloading them to any avatars within hearing range.  That's what "preloading" means. If the script preloaded a sound and you were not within range at the time, it didn't preload for you.  Your workaround is perfectly good one.  If sounds are played in sequence, you could also preload one while the previous one is playing.  Or you could preload sounds periodically with a timer, on the theory that you never know when a new person might have walked up since the last time the file was preloaded.

Share this post


Link to post
Share on other sites

unfotunately Rolig has it, and your work around is pretty much the deFacto standard for doing things.

there is one additional method that I've used in a few products... and that is to loop the sound at zero volume for a single sound that needs to be preloaded in a hurry as soon as objects come into range. it's only good for a single sound, but I've used it to great effect in weapon sounds (nothing more annoying than being shot 5 times before you hear the bang)

ETA:
btw, looks good, I like the use of space in it... too many games i SL think flat.

Share this post


Link to post
Share on other sites

An interesting change was just made in the development viewers that solves this problem for gestures. It now checks that the assets are in the cache before playback starts, so that they will work right on the first try, but possibly with a delay. The million L$ question: would a viewer change like this help or hurt more if it could be applied to scripted sounds? First I thought "duh yeah", objects should do that too, but would the possble delayed trigger hurt some games or immersion?

Share this post


Link to post
Share on other sites

I can easily imagine times when it wopuld be inconvenient to have a sound delayed for some people in an area but not others, so a delay might be problematic sometimes.  Still, the idea of automatically precacheing is interesting.  Perhaps if it were an optional flag .....  llPlaySound(string filename, float sound_volume, integer preload);  ?

 

Share this post


Link to post
Share on other sites

that'd be good, if they just tweaked the behavior of llPreloadSound, so that it flagged sounds for preloading... then whenever the viewer saw the flag it could start grabbing the labeled sounds.... it'd definitely need to be optional and default off when sound is muted/disabled on the viewer, perhaps with it's own checkbox to enable/disable in case of problems.

I don't see loading every sound in every object as being good though, since it could easily be used to spike peoples bandwidth. even with just flagging sounds by preload that might be possible, so some throttles might be necessary.

but otherwise I think it'd be a great addition.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...