In Flex how can I synchronise movement and sound

I'm writing a flex app, and hit a bit of a snag.  One of those things that you expect to just work - but it doesn't.

One of the visual elements is a drawer.  It can be opened and shut.  When it opens it should make a whoosh sound and when it closes it should go whoosh-clunk.

The drawer itself is just a simple element, and it is opened by using a mx.effects.Move.

The sounds are preloaded, so there should be no delay.

The code looks something like...

            _move.duration = _snd.duration;
            _move.xTo = newx;  

Notice that I call the sound play FIRST, but whenever the drawer opens or shuts the movement happens first and then the sound.  Actually to be more precise there is a delay of approximately one second between when the movement starts and when the sound starts.

One second may not seem much.  But given that the whole thing is supposed to happen in about 0.5 seconds - then it is a lot!

I've tried using both mx.effects.SoundEffect and for the sound, but the result is the same.

Does anyone know a way to synchronise the two, or perhaps why there is the initial delay?

Any ideas appreciated.

Who is Participating?
Hamlet081299Connect With a Mentor Author Commented:

As I mentioned the sounds are preloaded.  In other words I am loading these sound files (MP3) at the start of the application.  For technical reasons I prefer not to embed them.

BUT when I tried embedding them, they worked correctly.  

I'm guessing that maybe when you embed sound into a SWF it is transcoded.  But when loading dynamically it is doing the transcoding every time I try to play the sound, and this is what causes the delay.

I could perhaps embed the sounds into a separate file, but would prefer to stay with the dynamic load if possible.  Can anyone suggest a way to force the transcode prior to playing a sound?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.