A discussion shortly before, organized.
The phenomenon uses the sound created by AttachSound method, such as:
Var mysound = new side ();
MySound.attachSound ("SoundLinkageID");
mysound.start ();
It is normal when playing alone, but once it is loadmovie, it will be invalid.
The reason attachSound is copying the sound from the library to the stage. LoadMovie exists multiple libraries, wants to get sound from a library containing sounds, naturally will not succeed. So which library is replicated from? The test proof is a library that is a movie clip that binds the sound object. The so-called MC of the binding sound is the parameters used when creating a sound object:
Var mysound = new sound
MC);
If the parameters are missing, it is created a global sound. (I originally mistaken it is default _root, actually is not right)
This is an example below the flash2004. The following example creates a new Sound object called global_sound. The second line in the example call setVolume () and adjusts the volume of all the sounds in the movie to 50%.
Global_Sound = new Sound (); global_sound.setVolume (50); this library is the library corresponding to the primary SWF, and the library in the main SWF has no sound to copy, this is the problem.
The solution specifies the binding MC when creating a sound. If it is an AS on the frame, use var mySound = new sound (this). Or enforce _lockroot to True, then Var MySound = new Sound (_root) Need to pay attention to _lockRoot requires FlashPlayer7 support