First time here? First time here? Newsletter Signup Newsletter
651326 Members and growing! | Flash Jobs
Search tutorials
Author: marius hartmann | Website: http://www.xoz.net
So you want to use a sound object for your flash movie.. and give the user the ability to pause your sound instead of just stopping it and then starting it from the beginning?

First of all - import a sound - via rightclicking on the sound in the library - choose 'linkage'.

Choose to 'export this symbol', and give it a name you will be able to identify it by - in this case 'jinglebells'.

On the movies first keyframe we will instantiate a sound object, attach your sound to that object, and tell the sound to play.
here goes:
s = new Sound();
s.attachSound("jinglebells");
s.start();
Now that didn't hurt one bit! If you test your movie now - you should have music playing.

Plz. notice that we have not put the sound in any frame - we have simply 'glued' it to an invisible object.


Now for the hairy part.
We want the music to continue playing from the position we pressed pause - so we have to time our sound.
For this we will use the good old Date() object and place it in a function for easy access.
In the first keyframe continue the script by inserting the following before s.start().
i=1;

function timeme (){
now = new Date();
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds();

_root["nowtime"+i] = (Number(hours)*3600)+(Number(minutes)*60)+seconds;

_root.newstarttime = _root["nowtime"+i] - _root.nowtime1;

i++;
}

and after the s.start().
timeme();

Now that was a strange brew - but in short the script times when we started the sound (nowtime1) and compares it to when we stopped the sound (nowtime+i). That info is converted to seconds, and is fed into our start button later.

Next make 2 buttons - one for pausing the sound, and one for un-pausing it.
The first button should have the following actionscript:
on(press){
s.stop();
timeme();
}


The second button for unpausing the sound should have the following actionscript.
on(press){
s.stop();
s.start(_root.newstarttime);
}

The thing that makes this work is the variable 'newstarttime' it is fed into the un-pause button and is used for the built in 'secondsOffset' method which starts the sound x-seconds into the sound.

If you are experiencing trouble try importing another sound into your library.

Good luck!
» Level Advanced

Added: 2002-03-23
Rating: 7.9 Votes: 138
(10 being the highest)
» Author
Marius Hartmann is a danish artist, currently writing a Ph.d-project on 'visualization of dynamic information'.
» 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: S.Saipriya
» Title: Flash Fire Effect
» Description: This tutorial explains about how to create Fire Effect in Flash of Actionscript 2.0.I hope this tutorial helps you!
Featured Sound Loops
Image for equalize

Audio Player

» Author: Aidan Crouzet-Pascal
» Title: Falling Star
» Description: This loop is a cool sounding, E minor loop.
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: Brandan Paulin
» Description: Epic sounding loop with Brass, Percussion, Strings and Winds. This is actually part of a Loop Pack called the Coming where you can download the rest of the loops that go with it FREE from my website.