Creating sound controls
You use the built-in Sound object to control sounds in a movie. To use the methods of the Sound object, you must first create a new Sound object. Then you can use the attachSound method to insert a sound from the library into a movie while the movie is running.
To see an animated demonstration of sound controls, click the Play button and adjust the volume and pan.
The Sound object's setVolume method controls the volume, and the setPan method adjusts the left and right balance of a sound.
The following procedures show how to create sound controls like the ones shown above.
To attach a sound to a Timeline:
1
Choose File > Import to import a sound.
2
Select the sound in the library, right-click, and choose Options > Linkage.
3
Select Export for ActionScript and Export in first frame; then give it the identifier a_thousand_ways.
4
Add a button to the Stage and name it playButton.
5
Add a button to the Stage and name it stopButton.
6
Add a movie clip to the Stage and name it speaker.
7
Select frame 1 in the main Timeline and choose Window > Actions.
8
To pause the movie until the user selects Play, in the Actions toolbox, click the Objects category, click Movie, Sound, and Methods, and double-click stop. Enter _root.speaker in the Object text box.
9
To create a new Sound object, in the Actions toolbox, click the Objects category, click Movie, click Sound, and double-click new Sound. Enter song = in the Expression text box.
10
In the Actions toolbox, click the Objects category, click Movie, Sound, and Methods, and double-click attachSound. Enter song in the Object text box and "a_thousand_ways" (including the quotation marks) in the Parameters text box.
11
To start the song, in the Actions toolbox, click the Objects category, then click Movie, Sound, and Methods, and double-click start.
12
To activate the speaker, in the Actions toolbox, click the Objects category, then click Movie, Movie Clip, and Methods, and double-click play. Enter _root.speaker in the Object text box.
Your code should look like this:
_root.speaker.stop();
song = new Sound();
song.attachSound("a_thousand_ways");
_root.playButton.onRelease = function() {
song.start();
_root.speaker.play();
};
13
To stop the speaker when the song ends, click the Objects category, then click Movie, Sound, and Events, and double-click onSoundComplete. Enter song in the Object text box. Enter onSoundComplete in the Method text box.
14
In the Actions toolbox, click the Objects category, click Movie, Sound, and Methods, and double-click stop. Enter _root.speaker in the Object text box.
Your code should look like this:
_root.speaker.stop();
song = new Sound();
song.attachSound("a_thousand_ways");
_root.playButton.onRelease = function() {
song.start();
_root.speaker.play();
song.onSoundComplete = function() {
_root.speaker.stop();
};
};
15
Choose Control > Test Movie to hear the sound.
To create a sliding volume control:
1
Drag a button to the Stage.
2
Select the button and choose Insert > Convert to Symbol. Be careful to choose the movie clip behavior.
This creates a movie clip with the button on its first frame.
3
Select the movie clip and choose Edit > Edit Symbol.
4
Select the button and choose Window > Actions.
5
Enter the following actions:
on (press) {
startDrag("", false, left, top, right, bottom);
}
on (release) {
stopDrag();
}
The startDrag parameters left, top, right, and bottom are variables set in a clip action.
6
Choose Edit > Edit Document to return to the main Timeline.
7
Select the movie clip on the Stage.
8
Enter the following actions:
onClipEvent (load) {
top = _y;
bottom = _y;
left = _x;
right = _x+100;
_x += 100;
}
onClipEvent (enterFrame) {
_root.song.setVolume(_x-left);
}
9
Choose Control > Test Movie to use the volume slider.
To create a sliding balance control:
1
Drag a button to the Stage.
2
Select the button and choose Insert > Convert to Symbol. Choose the movie clip property.
3
Select the movie clip and choose Edit > Edit Symbol.
4
Select the button and choose Window > Actions.
5
Enter the following actions:
on (press) {
startDrag ("", false, left, top, right, bottom);
dragging = true;
}
on (release, releaseOutside) {
stopDrag ();
dragging = false;
}
The startDrag parameters left, top, right, and bottom are variables set in a clip action.
6
Choose Edit > Edit Document to return to the main Timeline.
7
Select the movie clip on the Stage.
8
Enter the following actions:
onClipEvent(load){
top=_y;
bottom=_y;
left=_x-50;
right=_x+50;
center=_x;
}
onClipEvent(enterFrame){
if (dragging==true){
_root.s.setPan((_x-center)*2);
}
}
9
Choose Control > Test Movie to use the balance slider.