Search tutorials
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:
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().
and after the s.start().
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:
The second button for unpausing the sound should have the following actionscript.
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!
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 |
| » 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. |
| Download (0 kb) |
| » Forums |
| More help? Search our boards for quick answers! |
-
You must have javascript enabled in order to post comments.


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