- What are Sound Objects?
- Creating the Sound Object
- Controlling the Sound Object with ActionScript
Creating the Sound Object
Before we begin building our Sound object with an ActionScript constructor function, download the finished file, play the audio and adjust the music volume by moving the slider left and right (see Figure 1).
Figure 1 A working volume slider controls audio volume through the use of a named and linked Sound object.
- After you finish previewing the file, close the preview window and open a
FLA file in Flash that contains an audio file in the library.
You also need a play and stop button, and the volume slider graphics that consist of a rail and a knob that moves along the rail to control the volume. Feel free to use all these graphic components and the audio file from my sample FLA file. Place each interface element on the stage into its own layer, as I have done in my sample file.
- Create a new layer labeled actions and move it to the top
of the layer stack (see
Figure 2).
Figure 2 An organized timeline with a dedicated layer for actions at the top makes this work much more easily.
Figure 3 Drag and drop the desired library elements.
- Click the play button on the stage with the selection tool. In the Instance
name field of the Properties inspector, type play to add this
name to this instance of the play button (see Figure
4). Naming the button
instance lets you use ActionScript to play audio when the button is
clicked.
Figure 4 Symbol instances should always be named immediately after creating them.
- Click the stop button on the stage with the selection tool. In the Instance name field of the Properties inspector, type stop to add this name to this instance of the stop button.
- We are now ready to create our Sound object using the constructor function.
Select Frame 1 in the actions layer. Open the Actions Panel (F9). Carefully and
precisely, type the script displayed in Figure 5 into the script pane of the
panel (see Figure 5).
Figure 5 Carefully type this script for frame 1 into the script pane of the actions window.
Let’s now over each line in this script.
- The first line of this script instructs Flash to execute the following lines
of code when the mouse is pressed and then released over the play button:
play.onRelease = function () {
- The next line is the sound constructor. This line creates a new Sound object
called s:
s = new Sound();
- The next line attaches, or links, the audio file in the library with the
identifier name, "techno", to the new Sound object.
s.attachSound("techno");
This is not the name of the sound file in the library but its identifier name. We will set up this linkage shortly.
- The next line instructs Flash to start playing the sound:
s.start(0,2);
This start() method takes two parameters: soundOffset and Loop. The first, soundOffset, establishes the number of seconds, from its beginning, the sound will start playing. In this case, the sound will start at the beginning. Our Loops parameter will loop the sound playback twice.
The last part of the script stops the Sound object playback when the stop button instance is pressed and released.
- Next, we need to link the audio file in the library to the Sound object s.
Open the library (Ctrl+L [Windows] or Cmd+L [Mac]) and select your sound file.
Click the Options button to access the drop-down menu (see Figure
6). From the
Options drop-down menu, choose Linkage to open up the Linkage dialog box (see
Figure 7).
Figure 6 Options drop-down menu in the library
Figure 7 Linkage dialog box.
- In the Identifier field, enter the name "techno"
to identify your linked sound. In the Linkage section, put checks in the Export
For ActionScript and Export In First Frame check boxes. Click OK to close the
Link Properties dialog box.
You can enter any unique Identifier name here, but it’s best to use a short descriptive label to help you identify this name in your scripts. The Export For ActionScript option commands Flash to export the selected sound in the SWF file using your unique identifier name so it’s available when called by the Sound object.
That’s it! Your Sound object has been created (also called instantiated) and linked to an audio file in the library.
Next, we test our script!
- Test your movie (Control > Test Movie) and check your script by pressing
the play and stop buttons. Your audio file should play and stop
accordingly.
- Ensure that you have named both the play and stop button instances accurately. Spelling counts with ActionScript! The names must match exactly those used in your script.
- ActionScript is very particular about syntax. Check the script shown in Figure 5 carefully to make sure your script matches exactly, including semicolons, periods, and so on.
- If you are still experiencing problems, start over from step 1.