1,在XML中添加布局:SeekBar
2,获得媒体播放器的最大值,给sb赋最大值
int duration = mediaPlayer.getDuration();
sb.setMax(duration);
3,创建定时器,每隔一秒跟新一次控件
//定时器
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
int currentPosition = mediaPlayer.getCurrentPosition();
sb.setProgress(currentPosition);
//拖动点的监听
sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
//拖动时
if (fromUser) {
if (mediaPlayer != null) {
//媒体播放器播放拖动点位置的视图
mediaPlayer.seekTo(progress);
}
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
};
timer.schedule(timerTask,1000,1000);
4,关闭时要用生命周期关闭定时器和媒体播放器
@Override
protected void onPause() {
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer = null;
timer.cancel();
super.onPause();
}