How can pause / play embed sound in AS3 flash
19,275
Solution 1
//number that is redefined when the pause button is hit
var pausePoint:Number = 0.00;
//a true or false value that is used to check whether the sound is currently playing
var isPlaying:Boolean;
//think of the soundchannel as a speaker system and the sound as an mp3 player
var soundChannel:SoundChannel = new SoundChannel();
var sound:Sound = new Sound(new URLRequest("SOUND.mp3"));
//you should set the xstop and xplay values to match the instance names of your stop button and play/pause buttons
xstop.addEventListener(MouseEvent.CLICK, clickStop);
xplay.addEventListener(MouseEvent.CLICK, clickPlayPause);
soundChannel = sound.play();
isPlaying = true;
function clickPlayPause(evt:MouseEvent) {
if (isPlaying) {
pausePoint = soundChannel.position;
soundChannel.stop();
isPlaying = false;
} else {
soundChannel = sound.play(pausePoint);
isPlaying = true;
}
}
function clickStop(evt:MouseEvent) {
if (isPlaying) {
soundChannel.stop();
isPlaying = false;
}
pausePoint = 0.00;
}
Solution 2
I just did a test to see it works.
- I made a MovieClip that just has the sound on the timeline( timeline is long enough to hold all the sound)
- I've set the Sync to Stream from the Properties Panel on the layer that has the sound. This means that the sound will be in sync with the frames.
- I've added two buttons to test controlling the sound, which is just controlling the movie clip that holds the sound sice it's synched with the frames.
Here's the basic code:
//playBtn and pauseBtn are two basic buttons
//sound is the movie clip that holds the synched sound in its timeline
playBtn.addEventListener(MouseEvent.CLICK, playSound);
pauseBtn.addEventListener(MouseEvent.CLICK, pauseSound);
function playSound(event:MouseEvent):void{
sound.play();
}
function pauseSound(event:MouseEvent):void{
sound.stop();
}
Hope it helps
Author by
Admin
Updated on June 04, 2022Comments
-
Admin almost 2 years
I have a sound with a length of 1:30 min. I embedded it into my swf and set it to sync with the frame. I need is to be able to pause and play this sound via ActionScript.
Does anyone have any idea how to do this?
-
Sarah Himmler about 7 yearsSeven and a half years later and your answer just saved me after an hour of research! Thank you!!!