как обновить аудио прогресс до минут - PullRequest
0 голосов
/ 11 сентября 2018

в настоящее время в моем приложении мультимедиа воспроизводится правильно, и textView также отлично обновляется .. в секундах 0: 00

ниже приведен код для onProgressChanged

@Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {
            seekBarHint.setVisibility(View.VISIBLE);
            int x = (int) Math.ceil(progress / 1000f);

            if (x < 10)
                seekBarHint.setText("0:0" + x);
            if (x > 10)
                seekBarHint.setText("0:" + x);
            }

вышеуказанного кодаработает как надо ..

Я хочу, чтобы таймер textView обновился до 1:00 после его воспроизведения в течение 0:59 секунд

Я попытался обновить код, как показано ниже:

@Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {
        seekBarHint.setVisibility(View.VISIBLE);
        int x = (int) Math.ceil(progress / 1000f);

        if (x < 10)
            seekBarHint.setText("0:0" + x);
        if (x > 10)
            seekBarHint.setText("0:" + x);

    if (x >= 60 &&  x < 70)
           x=0;
           seekBarHint.setText("1:0" + x);
    if (x > 70)
           seekBarHint.setText("1:" + x);
}

но я получаю textView как "1.00" с самого начала.и через 0,59 секунды .. он отображается как 1:060 1:061 и т. д. ...

Как обновить значение x до 0 после воспроизведения мультимедиа в течение 0,59 секунды ..

короче

я получаю значение textView как

0: 00 до 0:59, затем 0:60 ...

Я хочу это как

0: 00 до 0:59, затем 1: 00

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Если x - время в секундах, то эта простая строка должна работать.

seekBarHint.setText(String.format(secondsToString(x))

private String secondsToString(int pTime) {
        return String.format("%02d:%02d", pTime / 60, pTime % 60);
    }
0 голосов
/ 12 сентября 2018

с предложениями pskink в комментариях выше и этой ссылкой на ссылку.

я обновляю свой код, как показано ниже, который работал для меня:

public void SeekUpdation() {

if(mediaPlayer!=null) {
int mpos = mediaPlayer.getCurrentPosition();
seekBar.setProgress(mediaPlayer.getCurrentPosition());
mHandler.postDelayed(run, 1000);
int seconds = (mpos / 1000);
timerTextView.setText(String.format(secondsToString(seconds)));
}

Надеюсь, это кому-нибудь поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...