друзья, я не знаю, как получить оставшиеся песни и общую длительность от медиаплеера. В своем коде я хочу получить общую длительность и оставшуюся длительность песен и показать в текстовом виде с правильным форматированием времени:
updateseekbar=new Thread(){
@Override public void run(){
int totalduration=mediaPlayer.getDuration();
int currnetpostion=0;
while (currnetpostion<totalduration){
try{
sleep(500);
currnetpostion=mediaPlayer.getCurrentPosition();
seekBar.setProgress(currnetpostion);
}catch (Exception e) {
e.printStackTrace();
}
}
}
};
Что мне нужно сделать, чтобы этого добиться?
Вы можете добиться этого, вычтя текущую продолжительность из общей продолжительности. В вашем коде я вижу, что у вас есть как общая, так и текущая продолжительность.
remainingDuration = totalduration - currnetpostion=mediaPlayer.getCurrentPosition();
Может быть, работа вашего дела
Как я вижу в вашем коде....
totalduration = общее время песни;
но если вы хотите текущую позицию медиаплеера. Вы должны поместить свой код в runnable и обновлять текущую позицию каждую секунду....
final Handler handler=new Handler();
handler.post(new Runnable() {
@Override
public void run() {
int duration=mediaplayer.getcurrentPosition();
//and update your seekbar from handler
//change your int to time format...
String time = String.format("%02d:%02d ", TimeUnit.MILLISECONDS.toMinutes(duration), TimeUnit.MILLISECONDS.toSeconds(duration) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(duration)));
updateseekbar();
handler.postDelayed(this,1000);
}
});
если вы не получаете его, спросите это снова