How to Define a Sound Object Using the attachSound Method |
When utilizing sound objects, the sound is never dragged from the library onto stage or placed in a frame. This is true whether you use the attachSound (for embedded sounds) or the loadSound method (for external sound files). The sound is defined in a frame or movie clip and an identifying name is attached to the sound while it resides in the library (except in the case of loading an external MP3).
For this section of the tutorial, "firstSound" will refer to the name chosen for the instance of the sound object. Similarly, "firstSound01" will refer to the identifying name inserted in the linkage properties of the sound file that will be imported into the Flash library.
firstSound=new Sound();
firstSound.attachSound("firstSound01");
______________________________ |
-
Import one or more sound files into the Flash library by selecting "File" and then "Import to Library."
-
Right-click (Windows) or control-click (Mac) on the sound file within the library and select "Linkage..."
-
Select "Export for Actionscript" as shown in Fig02.
-
Type in an identifier for the linkage ID.
The identifier, which, in this example, is firstSound01, must be unique. It should not be the same as your sound object instance name or any other identifier in your movie. - Decide where to define the sound objects.
If the sound objects are defined all on the same level, it simplifies affecting the sound object later. For example, if the sound is defined at the _root level and then is to be started by pressing a button within a movie clip, the code would appear as follows:on (press) {
_root.firstSound.start();
}
If each sound object is defined in different movie clips and then used elsewhere, the unique path to the sound object will need to be remembered. If the sound is only being used once, this is irrelevant.When a call is made to the sound object, the complete path to the location where the sound object is defined will need to be spelled out in the ActionScript. For example, if the sound object is defined in a movie clip named "mc02" which is in another movie clip called "mc01", the ActionScript would appear as follows:
on (press) {
_root.mc01.mc02.firstSound.start();
}
The following is one of the most important things to remember about your sound objects. When a sound object is attached using the attachSound method (as is being described here), the sound will load, by default, as a child of whichever movie clip in which the sound object was defined. However, a sound object can be assigned as a child of any movie clip, regardless of where it is defined. This is important because any call to a method of a sound object, such as setVolume, will affect all sound objects which are the child of the same movie clip. This will become more clear when you need to manipulate the methods of multiple sound objects. Manipulating multiple sound objects is described in the section: How to Control Independent Sound Objects Simultaneously.
- The ActionScript for defining your sound object will appear as in Fig.01.
firstSound=new Sound();
firstSound.attachSound("firstSound01");
|
In this example, the chosen sound object instance name is "firstSound". In the second line, the instance name of "firstSound" is attached to a sound file in the library by specifying that sound's linkage identifier, "firstSound01," which was created in the above step 4 and illustrated in Fig.02.
Your sound object is now defined and ready to be called into action.
Note: Never start the name of your sound object or linkage ID with a number.
| » Level Intermediate |
|
Added: 2004-10-12 Rating: 8 Votes: 31 |
| » Author |
| Kenny Bellew is a technical writer and freelance flash programmer who specializes in Flash audio. He lives in Minneapolis, MN. |
| » Download |
| Download the files used in this tutorial. |
| Download (12927 kb) |
| » Forums |
| More help? Search our boards for quick answers! |


Comments
There are no comments yet. Be the first to comment!