Okay, just got another email about this issue of audio in Flash not syncing up after a certain amount of time. Most people report it takes a few minutes for the sync to get all screwy. And this is definitely a common problem, since this is probably the 30th email I’ve gotten on this. Fortunately here’s a solution that MOST people reply back and say works. It just takes two things…
- Make sure all your audio in Flash is set to Stream instead of Event. So if you’re scrubbing through the timeline, you should be able to hear little bits of audio at each frame. Versus Event where you only hear the audio if you trigger the first frame. You can choose between Stream or Event in the Properties window ( if you at least one frame selected of the audio in the timeline)
- Okay the really important part, and this is weird but it works… In your HTML embed code, switch your Quality parameters to BEST. They are probably set to HIGH, and if so, just do a find and replace switching HIGH to BEST. This should make the playback of the swf favor keeping time with the audio instead of trying not to skip frames during playback. Usually the reason the audio gets out of sync in Flash is because the player is trying to show you as many frames as possible and disregarding the audio. Which might be a good thing if your audio is just some cheesy sound loop, where it doesn’t matter if it syncs. Skipping frames can also make the playback look way less smooth, but thats a good sacrifice if your speaking characters in an animation keep time.
Here’s what Adobe has to say about the Quality parameter (note they don’t mention anything about audio, but trust me, the above is true )…
Defines the quality of playback in Flash Player. Valid values of quality arelow, medium, high, autolow, autohigh, and best. The default value is typically best.
The low setting favors playback speed over appearance and never uses anti-aliasing.
The autolow setting emphasizes speed at first but improves appearance whenever possible. Playback begins with anti-aliasing turned off. If Flash Player detects that the processor can handle it, anti-aliasing is turned on.
The autohigh setting emphasizes playback speed and appearance equally at first, but sacrifices appearance for playback speed if necessary. Playback begins with anti-aliasing turned on. If the actual frame rate drops below the specified frame rate, anti-aliasing is turned off to improve playback speed. Use this setting to emulate the View > Antialias setting in Flash.
The medium setting applies some anti-aliasing and does not smooth bitmaps.
The high setting favors appearance over playback speed and always applies anti-aliasing.
The best setting provides the best display quality and does not consider playback speed. All output is anti-aliased and all bitmaps are smoothed.