how can I add a pause to a sound with out having to make the whole movie pause? I was trying to add a dumb while loop but that caused the whole movieto pause
Printable View
how can I add a pause to a sound with out having to make the whole movie pause? I was trying to add a dumb while loop but that caused the whole movieto pause
you can create 2 buttons 1 for stop and 1 for play
where my 2 buttons are named musicoff = off button and musicon = on button
stop music
start musicCode:musicoff_btn.onRelease = function(){
_root.my_music.stop();
}
Code:musicon_btn.onRelease = function(){
_root.my_music.start();
is there anyway to do it with out using buttons...for example if i have two audio files that are supposed to play back to back but i just want to add a pause inbetween them
So, you want a delay?
A quick and dirty way to do a delay:
PHP Code:var time:Number = 6;
var count:Number = 0;
function delay(time:Number, count:Number) {
if(count == time) {
return true;
}
}
function onEnterFrame() {
if(delay(time, count++)) {
//call function to play next song
delete onEnterFrame;
}
}
wont that delay all the animation going on aswell though?
Why would it?
All you're doing is waiting until you play the next song..
You could even use intervals.
PHP Code:var delayInterval:Number = setInterval(delay, 1000 / 30);
var count:Number = 0;
var time:Number = 10;
function delay() {
if(count == time) {
playSong(next);
clearInterval(delayInterval);
} else {
count++;
}
}
this will repeat 2 songs with a 3 second gap between them.
it assumes you have 2 songs in your library named s1 and s2.
3000 is milliseconds - so set it to what you need
_root.createEmptyMovieClip("sound1",1);
_root.createEmptyMovieClip("sound2",2);
s1 = new Sound(sound1);
s2 = new Sound(sound2);
s1.attachSound("s1");
s2.attachSound("s2");
s1.start();
s1.onSoundComplete = function() {
delay(s2);
}
s2.onSoundComplete = function() {
delay(s1);
}
function delay(sound) {
sound.del = setInterval(setDelay,3000,sound);
}
function setDelay(sound) {
sound.start();
clearInterval(sound.del);
}