@Override
public void run() {
int currentPosition = 0;
int total = mediaPlayer.getDuration();
while (mediaPlayer != null && currentPosition < total) {
try {
Thread.sleep(1000);
currentPosition = mediaPlayer.getCurrentPosition();
} catch (InterruptedException e) {
return;
} catch (Exception e) {
return;
}
pbRingtonePreviewHorizontal.setProgress(currentPosition);
}
}
上面是更新进度值的代码,这在水平进度条中完美运行..我想要相同的循环进度条。
初始化进度条的代码是
public void onPrepared(MediaPlayer mediaplayer) {
System.out.println("on prepared");
if (!mediaPlayer.isPlaying()) {
isPlayEnabled = true;
mediaPlayer.start();
pbRingtonePreview.setVisibility(View.INVISIBLE);
pbRingtonePreviewHorizontal.setProgress(0);
pbRingtonePreviewHorizontal.setMax(mediaPlayer
.getDuration());
ivRingtonePreview.setImageResource(R.drawable.stop);
new Thread(this).start();
}
}