actionscript 3 - Progress bar in a Flash MP3 Player -


i have coded simple xml driven mp3 player. have used sound , soundchannel objects , method can´t find way of make progress bar.

i don´t need loading progress need song progress status bar.

canbd me?

thanks.

update:

theres code.

 var musicreq: urlrequest; var thumbreq: urlrequest; var music:sound = new sound(); var sndc:soundchannel; var currentsnd:sound = music; var position:number; var currentindex:number = 0; var songpaused:boolean; var songstopped:boolean; var lineclr:uint; var changeclr:boolean; var xml:xml; var songlist:xmllist;  var loader:urlloader = new urlloader(); loader.addeventlistener(event.complete, loaded);  loader.load(new urlrequest("musiclist.xml"));  var thumbhd:movieclip = new movieclip(); thumbhd.x = 50; thumbhd.y = 70; addchild(thumbhd);  function loaded(e:event):void{     xml = new xml(e.target.data);     songlist = xml.song;     musicreq = new urlrequest(songlist[0].url);     thumbreq = new urlrequest(songlist[0].thumb);     music.load(musicreq);     sndc = music.play();     title_txt.text = songlist[0].title + " - " + songlist[0].artist;      loadthumb();     sndc.addeventlistener(event.sound_complete, nextsong); }  function loadthumb():void{     var thumbloader:loader = new loader();     thumbreq = new urlrequest(songlist[currentindex].thumb);     thumbloader.load(thumbreq);     thumbloader.contentloaderinfo.addeventlistener(event.complete, thumbloaded); }  function thumbloaded(e:event):void {     var thumb:bitmap = (bitmap)(e.target.content);     var holder:movieclip = thumbhd;     holder.addchild(thumb); }  prevbtn.addeventlistener(mouseevent.click, prevsong); nextbtn.addeventlistener(mouseevent.click, nextsong); playbtn.addeventlistener(mouseevent.click, playsong);  function prevsong(e:event):void{     if(currentindex > 0){         currentindex--;     }     else{         currentindex = songlist.length() - 1;     }      var prevreq:urlrequest = new urlrequest(songlist[currentindex].url);     var prevplay:sound = new sound(prevreq);     sndc.stop();     title_txt.text = songlist[currentindex].title + " - " + songlist[currentindex].artist;     sndc = prevplay.play();     currentsnd = prevplay;     songpaused = false;     loadthumb();     sndc.addeventlistener(event.sound_complete, nextsong); }  function nextsong(e:event):void {     if(currentindex 

and here code lenght , position. it´s inside movieclip. that´s why use absolute path find sound object.

  this.addeventlistener(event.enter_frame, movespeaker);  var initwidth:number = this.spkcone.width; var initheight:number = this.spkcone.height; var rootobj:object = root;  function movespeaker(eventargs:event) {     var average:number = ((rootobj.audioplayer_mc.sndc.leftpeak + rootobj.audioplayer_mc.sndc.rightpeak) / 2) * 10; //  trace(average);  //  trace(initwidth + ":" + initheight);     trace(rootobj.audioplayer_mc.sndc.position + "/" + rootobj.audioplayer_mc.music.length);     this.spkcone.width = initwidth + average;     this.spkcone.height = initheight + average;  }   

you can normalized floating point value ( percent complete ) using: soundchannel.position / sound.length. can use value scalar sound playback progress indicator.

psuedo code:

// -- set x scale of progress bar percent complete progbar.scalex = channel.position / sound.length; 

Comments

Popular posts from this blog

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

unicode - Are email addresses allowed to contain non-alphanumeric characters? -