Ok, this I am sure is an old one, and has probably been blogged countless times before, but it bit me for the first time last night and googling didn’t turn up any useful results.
The scenario:
I’ve been working on a container movie. It’s job is to hold a master navigation control and to load content movies developed by a third party, based on user actions. In addition it plays a sound track.
It contains a mute button which controls a Sound object created with a line such as mySoundControl = new Sound( this ); and then mySoundControl.setVolume();
On the face of it, it controls the volume very well. Including the time-line sounds within the content movies.
The problem: We found that certain items in the content movies triggered sounds independently of the master volume and simply disobeyed the volume. The common factor in each of these was that they were button symbols each with a sound applied directly to the over frame.
The solution: quite simply was to create movie-clip symbols containing the sounds, and replace the over frame sound with an instance of the new movie-clip.