Как получить оставшиеся песни и общее время воспроизведения с медиаплеера? - PullRequest
1 голос
/ 18 марта 2019

друзья, я не знаю, как получить оставшиеся песни и общую длительность от медиаплеера.В моем коде я хочу получить общую длительность и оставшуюся длительность песен и показать в текстовом виде с правильным форматированием времени:

 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();
                      }

                  }
            }
        };

Что мне нужно сделать, чтобы добиться этого?

Ответы [ 2 ]

1 голос
/ 18 марта 2019

Как я вижу в вашем коде ....

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);
        }
    });

, если вы не получаете его, спросите это снова

1 голос
/ 18 марта 2019

Вы можете добиться этого, вычтя текущую длительность из общей продолжительности. В вашем коде я вижу, что у вас есть как общая, так и текущая длительность.

remainingDuration  = totalduration -   currnetpostion=mediaPlayer.getCurrentPosition();

Может быть, работает ваш случай

...