private static Handler seekHandler = new Handler();
...
...
seekBar1.setOnSeekBarChangeListener (new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
mp.seekTo(progress);
seekBar.setProgress(progress);
}
});
//Play music
public static void play(){
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.start();
seekHandler.postDelayed(run, 1000);
}
public static void pause() {
try {
mp.pause();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
private static Runnable run = new Runnable() {
public void run() {
if(mp.isPlaying()){
int mediaPos_new = mp.getCurrentPosition();
int mediaMax_new = mp.getDuration();
seekBar1.setMax(mediaMax_new);
seekBar1.setProgress(mediaPos_new);
seekHandler.postDelayed(run, 1000); //Looping the thread after 0.1 second // seconds
}
}
};
public void onPrepared(MediaPlayer arg0) {
// TODO Auto-generated method stub
duration = mp.getDuration();
seekBar1.setMax(duration);
seekBar1.postDelayed(run, 1000);
}
이렇게 해보세요