But isn't there a small "glitch" in the song between each loop because of the 
mp3 compression? I thought the only way to get rid of the glitch was to export 
every sound as a swf.

BLITZ | Patrick Matte - 310-551-0200 x214

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Alain Rousseau
Sent: Wednesday, August 15, 2007 4:53 AM
To: flashcoders@chattyfig.figleaf.com
Subject: Re: [Flashcoders] Class to loop sound objects in order

you can check out these set of classes I created for something similar
to what you need.
it doesn't loop each mp3 files but,  creates a song based on an array of
mp3 files .

You can modify it as you wish to fit your needs but the simplest thing
would be to just to repeat the filename in the array [file1, file1,
file1, file2, file3, ... ]

http://lab.daroost.ca/2007/02/25/sondloop2-revisited-musicbuilder-soundobject/

HTH

Alain

[EMAIL PROTECTED] wrote:
> Hi there, thanks for checking my post. I am trying to create a class that 
> will play a number of mp3 loops each a specified number of times and in the 
> specified order. I have tried to find an existing class but cant find one 
> anywhere.
>
> My solution (which may not be that efficient), is to create all of the sound 
> objects in the fla then load the mp3s into them. When they are all loaded 
> each sound object is added to a new object that holds it as well as a 'loops' 
> property that says how many times the sound object must play. These objects 
> are then put into an array in the order they are to be heard. This array is 
> passed to my LoopSound class that controls the playback. I can also pass a 
> 'loopForever' property that will make the series repeat indefinitely.
>
> The problem I am having is re-triggering the play() function from within my 
> LoopSound Class to move onto the next sound in the array. I am sure that 
> there will be a much neater way of achieving what I want, and maybe even a 
> pre-written class!
>
> Any direction / suggestions / encouragement much appreciated :)
>
> Thanks!
> Danny
>
>
>
> //this code would create an instance of the class in the FLA
>
>
> var mySound:Sound = new Sound();
> mySound.loadSound("sounds/gas.mp3", false);
> //once sound is loaded:
> var my_ar:Array = new Array();
> //create object to add to array
> var myOb:Object = new Object();
> myOb.sound = mySound;
> //is to play 3 time
> myOb.loops = 3;
> my_ar.push(myOb);
> var myLooper:LoopSound = new LoopSound(my_ar)
>
>
> Here is the class:
>
>
> //this class is designed to play a number of already loaded sound objects 
> sequentially, each sound object can be looped for a specified number of times 
> then the whole series can be repeated infinitely. Th constructor is passed an 
> array of objects that have sound and loop properties that contain a sound 
> object and the number of times the sound object is to be looped.
>
>
> class LoopSound {
>       private var sounds_ar:Array;
>       //sound playing currently
>       var currSound:Sound;
>       //which stage of the array we are currently up to
>       private var mp3Count:Number = 0;
>       //if this series of loops is meant to keep playing until they are 
> stopped
>       private var loopForever:Boolean;
>       //receives array that holds objects that have the key sound & loops
>       public function LoopSound(a:Array, lF:Boolean) {
>               trace("loopsound created:"+a);
>               mp3Count = 0;
>               sounds_ar = new Array();
>               sounds_ar = a;
>               loopForever = lF;
>               this.play();
>       }
>       private function play() {
>               trace("Loopsound started playing");
>               trace("mp3 count:"+this.mp3Count+":"+sounds_ar);
>               currSound = sounds_ar[mp3Count]["sound"];
>               //creating local vars for targetting from currSound complete
>               var mp3C:Number = mp3Count;
>               var snds_ar:Array = sounds_ar;
>               //calculate number of times mp3 is to loop
>               var currLoops:Number = sounds_ar[mp3Count]["loops"];
>               currSound.start(0,currLoops);
>               currSound.onSoundComplete = function() {
>                       //if there are more sound objects to play iterate thru 
> array and retrigger play()
>                       if (mp3Count<snds_ar.length) {
>                               mp3Count++;
>                               //this bit isn't working!
>                               play();
>                       } else {
>                               if (loopForever) {
>                                       mp3Count = 0;
>                                       this.play();
>                               } else {
>                                       //all sound objects have played and 
> play() is not retriggered
>                                       mp3Count = 0;
>                               }
>                       }
>               };
>       }
> }
>
> _______________________________________________
> Flashcoders@chattyfig.figleaf.com
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
> Brought to you by Fig Leaf Software
> Premier Authorized Adobe Consulting and Training
> http://www.figleaf.com
> http://training.figleaf.com
>
>
>
_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com
_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to