First time here? First time here? Newsletter Signup Newsletter
Login | Register | 651326 Members and growing! | Flash Jobs
Search tutorials
Author: Kenny Bellew | Website: http://www.cowfly.com

How to Control the Position of a Sound Object

Flash MX allows excellent control over the time position of a sound object, allowing you to track the position in milliseconds if you wish. Because you can detect when an exact amount of seconds have passed from the beginning of a sound, it is possible to use a sounds position in time to activate events in your Flash movie. This provides an additional powerful tool to control your presentation.

Fig. 10: Example of fading a sound object five seconds from the end of the song

Fading a Sound Object Five Seconds from the End of the Song

To begin a fade out five seconds from the end of a song, the sound object properties "duration" and "position" can be used. The property "duration" reports the duration of a sound in milliseconds. The property "position" reports the number of milliseconds the sound has been playing.

For a sound object defined with the instance name of "myMusic", the syntax for these properties is as follows:

myMusic.duration;
myMusic.position;

Using the "duration" property, you can define a variable that equals the
duration of a sound minus 5 seconds:

myMusicDuration = _root.myMusic.duration/1000;
myMusicPosition = _root.myMusic.position/1000;
fadeEnd=(songDuration-5);

In the above example, the variable "myMusicDuration" is defined as equaling the duration of the sound object "myMusic" divided by 1000. The variable is divided by 1000 because the duration is reported in milliseconds (5000 milliseconds equals 5 seconds). Similarly, the variable "myMusicPosition" is defined as equaling the current position of the sound object "myMusic". Finally, the variable "fadeEnd" is defined as "myMusicDuration" minus five. The number five can be used (versus 5000) because "myMusicDuration" has already been divided by 1000.

By placing the above three lines of code in a movie clip that loops using the event handler, "onEnterFrame", the variables are updated every time the frame is processed. The ActionScript watches for "fadeEnd" to be equal to or less than "songPosition", and then begins fading the volume of the sound object.

this.onEnterFrame = function () {
myMusicDuration = _root.myMusic.duration / 1000;
myMusicPosition = _root.myMusic.position / 1000;
fadeEnd = (myMusicDuration - 5);
//
//Fade Out
//
if (fadeEnd <= songPosition && myMusicVolume>0 && playing==true) {
if (myMusicVolume<=1) {myMusicVolume=0}
_root.myMusic.setVolume(myMusicVolume);
myMusicVolume=myMusicVolume-1;
}
}

In order to make this work, the variable "myMusicVolume" must equal some number before the above script runs. If it does not, the first time you indicate that the setVolume is "myMusicVolume", the volume will be zero. There are a few ways to resolve this. One way is to define "myMusicVolume" as a variable at the same time as the sound object is defined.

myMusic = new Sound(myMusicMc);
myMusic.attachSound("myMusic01");
myMusicVolume=100;
myMusic.setVolume(myMusicVolume);

Experiment with the Flash example in Fig. 10 to see the sound fade in or out.

» Level Intermediate

Added: 2004-10-12
Rating: 8 Votes: 31
(10 being the highest)
» 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.
» Forums
More help? Search our boards for quick answers!

Comments

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

  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.
Featured Flash FLA
» Author: work2survive
» Title: Girl Walking 1kb
» Description: Walking girl, animation just takes 1kb, using high heels shoes, and fashion model attitude.
Featured Sound Loops
Image for equalize

Audio Player

» Author: BoxCat
» Title: CPU Talk
» Description: From the cyberpunk RPG, "Nameless: the Hackers" Completely Free to use! Keywords: edm hip hop rap electronic mysterious mission hacking chase exciting spy ios ambient chilling love happy sad angry suspense
Latest Font
» Author: Fábio FAFERS
» Description: I created this font for free use. Everyone can apply it in personal or business texts. Its free, but I want to be communicated in case of business use. Donations are accepted to keep the project of free fonts alive! Thank you all
Featured Sound Fx
Image for equalize

Audio Player

» Author: nathan
» Description:

A recorded sound of the Dimensional Fork Gate.