Hey Chris, you're right that onSoundComplete only gets fired when the sound has completely finished playing. The Class you wrote is handling it the way I currently am, which is great ... the only thing I'm noticing is that on some slower machines, when you start each loop onSoundComplete there is a tiny pause that doesn't seem to be there when it loops on its own ... basically I wanted to see what ideas everyone would come up with, and it seems like I'm on the right track.
Thanks a lot, - markW On 11/17/05, Chris Wilcox <[EMAIL PROTECTED]> wrote: > Isn't onSoundComplete called when the sound has stopped playing, not when it > loops?? > > In which case you could create a SoundLoop class which uses onSoundComplete > to increment the loopCount and fire next loop. Not sure how it being called > on next frame affects this (seemed fine to me in the past) > > Here's a quick look at a SoundLoop class (beware severely untested and prone > to being written better.. ;) > > ---------------------------------------------------------------------------- > > class com.bouncedigital.SoundLoop extends Sound > { > private var __secOffset:Number > private var __loops:Number > private var __loopsElapsed:Number = 0 > > public function SoundLoop(arg) > { > } > public function start(secOffset, loops) > { > if (__loopsElapsed == 0) > { > __secOffset = secOffset > __loops = loops > __loopsElapsed = 0 > } > super.start(__secOffset,1) > } > private function onSoundComplete() > { > __loopsElapsed ++ > onLoopComplete() > trace("loopsElapsed: " + __loopsElapsed) > if (__loopsElapsed <= __loops) > { > start(0,1) > } else > { > __loopsElapsed = 0 > onAllLoopsComplete() > } > } > public function onLoopComplete() > { > > } > public function onAllLoopsComplete() > { > > } > } > > ---------------------------------------------------------------------- > In fla... > > import com.bouncedigital.SoundLoop > > var mySoundLoop = new SoundLoop(this) > > mySoundLoop.attachSound("__bass_lib") > mySoundLoop.start(0,3); > > mySoundLoop.onLoopComplete = function () > { > trace("loopcomplete") > } > > mySoundLoop.onAllLoopsComplete = function () > { > trace("allloopscomplete") > } > > > HTH > > C > > > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Tobias > Fendel [Die ActionScripter] > Sent: 17 November 2005 18:50 > To: 'Flashcoders mailing list' > Subject: RE: [Flashcoders] onLoop event for sound > > > hi, > > imho a better solution is to use the sound.onSoundComplete event: > > mySound.onSoundComplete = function() { loopCount++ } > > it is fired next frame after the sound ends. if you start your sound using a > script like mySound.start(0,9999) it may be your sound restarts (and resets > sound.position) before the next frame events calls your check. > > > greetings > tobias > > ps: sorry about my bad english :) > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf > > Of Alain Rousseau > > Sent: Thursday, November 17, 2005 7:17 PM > > To: Flashcoders mailing list > > Subject: Re: [Flashcoders] onLoop event for sound > > > > > > Hi Mark, > > > > you could monitor the position of the sound comparred to it's > > duration, > > that way you know when it arrives at the end of the sound. > > > > if (sound.position == sound.duration) { > > loopCount++; > > } > > > > In this case, the loop count will be made at the end of the sound. > > > > HTH > > > > Alain > > > > Mark Walters wrote: > > > > >Does anyone know of a good way to create an onLoop event that gets > > >fired everytime a sound loops. I need to keep track of how > > many loops > > >are left. _______________________________________________ > > >Flashcoders mailing list > > >Flashcoders@chattyfig.figleaf.com > > >http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > > > > > > > > > > > _______________________________________________ > > Flashcoders mailing list > > Flashcoders@chattyfig.figleaf.com > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > > > > _______________________________________________ > Flashcoders mailing list > Flashcoders@chattyfig.figleaf.com > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > ______________________________________________________________________ > This email has been scanned by the MessageLabs Email Security System. > For more information please visit http://www.messagelabs.com/email > ______________________________________________________________________ > _______________________________________________ > Flashcoders mailing list > Flashcoders@chattyfig.figleaf.com > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders