How do you make an automatic seekbar/scrubber?


hi there,

              have made own functional mp3 media player in actionscript 3.0 can play song, , have seekbar/scrubber can scrub through song.
the question asking have searched many forums , on google, how can make seekbar/scrubber move song automatically.

 

any appreciated, casey

 

 

// variable list

var my_songs:xmllist; // create variable reference xml nodes in playlist

var my_total:number; // create variable hold number of songs in playlist

var my_sound:sound; // create variable hold sound object

var my_channel:soundchannel; // create variable hold sound channel object

var dragging:boolean = false; // boolean detect state of vol slider drag

var isdragging:boolean = true; // boolean detect state of scrubber/seekbar

var rectangle:rectangle = new rectangle(0,-75,0,75); // place vol slider objects

var rectangle2:rectangle = new rectangle(0,0,685.5,0);

var current_song:number = 0; // current song counter (first position in array)

var song_position:number; // song position

var song_paused:boolean; // song paused? true or false?

var myxmlloader:urlloader = new urlloader(); // variable hold urlloader class

var pauseposition:int=0;

 

 

// seekbar ui controls setup

seekbar_mc.sliderseek_mc.buttonmode = true;

seekbar_mc.sliderseek_mc.addeventlistener(mouseevent.mouse_down, dragit2); // call drag function

stage.addeventlistener(mouseevent.mouse_up, dropit2); // call drop function

 

 

 

// function dragit2

// dragging slider

function dragit2(e:event):void

{

          e.currenttarget.startdrag(true, rectangle2); // seek bar of rectangle constrained

          isdragging = true; // flip boolean value true (dragging)

          seekbar_mc.sliderseek_mc.addeventlistener(event.enter_frame, onplayprogress); // call onplayprogress function

}

 

 

// function dropit2

// dropping slider

function dropit2(e:event):void

{

          if (song_paused == false)

          {

                    if (isdragging == true)

                    {

                              stopdrag();

                              var fulltime:int = math.floor(my_sound.length/1000);

                              //my_sound.length:int = math.ceil(my_sound.length /(my_sound.bytesloaded / my_sound.bytestotal));

                              var newpos:number = fulltime/685.5 * math.floor(seekbar_mc.sliderseek_mc.x * 1000);

                              pauseposition = newpos/2;

                              my_channel.stop();

                              gotoandplay(2);

                              my_channel = my_sound.play(newpos);

                              song_paused = false;

                              isdragging = false;

                    }

          }else

          {

                    isdragging = false;

                    seekbar_mc.sliderseek_mc.stopdrag();

                    //seekbar_mc.sliderseek_mc.visible = false;

                    //pauseposition = _totaltime / 100 * math.floor(seekbar_mc.sliderseek.mc.x * 1000);

 

 

          }

}

 

// onplayprogress

function onplayprogress(event:event):void

{

          var seekbar:number = seekbar_mc.sliderseek_mc.x / 100; 

}

create loop (eg, enterframe) , repeatedly use soundchannel's position property update play indicator.



More discussions in ActionScript 3


adobe

Comments

Popular posts from this blog

How to set the order of FAQs instead of alphabetical

Thread: Get UK Keyboard working

how do I change the e-mail address for my merchant account