таймер обратного отсчета по длине видео - PullRequest
0 голосов
/ 03 января 2019

Попытка создать горизонтальный индикатор выполнения по длине видео с использованием таймера обратного отсчета.

У меня есть видеовидео и горизонтальный индикатор выполнения, и я пытаюсь выполнить индикатор выполнения по длине видео с использованием таймера обратного отсчета

long totalDuration = videoDataView.getDuration();
long currentDuration = videoDataView.getCurrentPosition();

int progress = (int) (ConstantMethods.getProgressPercentage(currentDuration, totalDuration));

CountDownTimer timer = new CountDownTimer(totalDuration,100) {
    @Override
    public void onTick(long millisUntilFinished) {
        single_progress.setProgress(progress);
    }

    @Override
    public void onFinish() {

    }
};

timer.start();

Я ожидаю, что он будет работать по длине видео, но при запуске индикатор выполнения приложения не запускается.

1 Ответ

0 голосов
/ 03 января 2019
              <ProgressBar 
                android:id="@+id/progressbar"
                style="@android:style/Widget.ProgressBar.Horizontal"
                android:max="100"
                android:progress="0"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_above="@+id/bottom_header_relativelayout"
                />


        ProgressBar mProgressBar;
        CountDownTimer mCountDownTimer;
        int i=0;

            mProgressBar=(ProgressBar)findViewById(R.id.progressbar);
            mProgressBar.setProgress(i);
               mCountDownTimer=new CountDownTimer(5000,1000) {

                    @Override
                    public void onTick(long millisUntilFinished) {
                        Log.v("Log_tag", "Tick of Progress"+ i+ millisUntilFinished);
                        i++;
                        mProgressBar.setProgress((int)i*100/(5000/1000));

                    }

                    @Override
                    public void onFinish() {
                    //Do what you want 
                        i++;
                        mProgressBar.setProgress(100);
                    }
                };
                mCountDownTimer.start();
...