mp3재생을 하면서

밑에 seekbar를 이용해서 움직이는 대로 mp3로 움직여서(? 이동해서..)재생 되게 하고 있는데

음악이 시작 되면 seekbar도 같이 움직여야 되는데 이게 안되네요,..... ㅠ

이것만 하면 완성인데.. seekbar가 멈춰 있네요;;;ㅠ

package dku.android.dankook;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.TextView;
public class dankook extends Activity implements OnClickListener {
 MediaPlayer mp;
 TextView tv;
 Button bt, bt1 ;
 
 
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  
  // ID값 넣어줌. 
  tv = (TextView)findViewById(R.id.time);
  bt = (Button)findViewById(R.id.but);
  bt.setOnClickListener(this);
  bt1 = (Button)findViewById(R.id.but1);
  bt1.setOnClickListener(this);
  m_sb = (SeekBar)findViewById(R.id.SeekBar01);
  m_textProgress = (TextView)findViewById(R.id.myTextView);
  m_textTracking = (TextView)findViewById(R.id.myTextView2);
  mp = MediaPlayer.create(this, R.raw.rihanna);
  //SeekBar 배경색깔.
  m_sb.setBackgroundColor(0xffff5050);
  int aa = mp.getDuration();
  //seekbar 에 대한 change 이벤트처리
  String mp3time = changeToMinutes(aa);
  tv.setText(mp3time);
  m_sb.setMax(mp.getDuration());
  m_sb.setOnSeekBarChangeListener(listenGenerator);
  m_sb.incrementProgressBy(1);
  
  
 }
 //thumb 에 대한 메세지이며 아래의 함수들은 자동으로 override 되어 생김.
 private SeekBar.OnSeekBarChangeListener listenGenerator
 = new SeekBar.OnSeekBarChangeListener()
 {
  @Override
  //thumb 을 놓았을때 날라오는 메세지
  public void onStopTrackingTouch(SeekBar seekBar) 
  {
   m_textTracking.setText(new StringBuilder()
   .append("Tracking Stop"));
   
  }
  @Override
  //thumb 을 잡았을때 날라오는 메세지
  public void onStartTrackingTouch(SeekBar seekBar) 
  {
   m_textTracking.setText(new StringBuilder()
   .append("Tracking Start"));
  }
  @Override
  //thumb 의 위치가 변경될 때마다 오는 메세지
  public void onProgressChanged(SeekBar seekBar, int progress,
    boolean fromUser) 
  {
   songtime = progress;
  }
   
 };
 private SeekBar      m_sb;
 private TextView     m_textProgress;
 private TextView     m_textTracking;
 private static int songtime;
 private String changeToMinutes(int mseconds)
 {
  int min = 0;
  int sec = 0;
  String minStr = "";
  String secStr = "";
  
  min = (int) Math.floor(mseconds/(1000*60));
  sec = (int) Math.floor((mseconds-(1000*60)*min)/1000);
  
  minStr = min < 10 ? "0"+min:""+min;
  secStr = sec < 10 ? "0"+sec:""+sec;
  
  return minStr+":"+secStr;
 }
 @Override
 public void onClick(View v) {
  // TODO Auto-generated method stub
  if(v == bt){
   mp.seekTo(songtime);
   String ab = changeToMinutes(songtime);
   
   mp.start();
   m_sb.incrementProgressBy(mp.getCurrentPosition());
   // TODO Auto-generated method stub
   m_textProgress.setText( new StringBuilder().append(ab));
  }
  else if(v == bt1){
   mp.stop();
  }
 }
}