Панель поиска не показывает буферизацию вторичной панели, и при нажатии на панели поиска видео-вид не пропускается в позицию нажатия - PullRequest
0 голосов
/ 25 февраля 2019

Я реализовал этот проект из github в моем проекте.

Я сталкиваюсь со следующими проблемами:

  1. Панель поиска буферизации непоказывает, когда видео воспроизводится, несмотря на следующий код в моем методе onBufferingUpdate

    @Override
    public void onBufferingUpdate(int progress) {
      if (progress != 0){
    bottom_seek_progress.setSecondaryProgress(progress);
         }
    }
    
  2. Метод onStopTrackingTouch не пропускает видео в новую позицию панели поиска, хотяTextView time обновляется.Ниже приведен метод

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
    Log.i(TAG, "bottomProgress onStopTrackingTouch [" + this.hashCode() + "] ");
    MediaPlayerManager.instance().startProgressTimer();
    ViewParent vpup = getParent();
    while (vpup != null) {
        vpup.requestDisallowInterceptTouchEvent(false);
        vpup = vpup.getParent();
    }
    if (MediaPlayerManager.instance().getPlayerState() != MediaPlayerManager.PlayerState.PLAYING &&
            MediaPlayerManager.instance().getPlayerState() != MediaPlayerManager.PlayerState.PAUSED)
        return;
    long time = (long) (seekBar.getProgress() * 1.00 / 100 * MediaPlayerManager.instance().getDuration());
    MediaPlayerManager.instance().seekTo(time);
    Log.i(TAG, "seekTo " + time + " [" + this.hashCode() + "] ");
    }
    

PS: Мой метод onProgressUpdate выглядит следующим образом

 @Override
public void onProgressUpdate(final int progress, final long position, final long duration) {
    post(new Runnable() {
        @Override
        public void run() {
            bottom_seek_progress.setProgress(progress);
            current.setText(Utils.stringForTime(position));
            total.setText(Utils.stringForTime(duration));
        }
    });
    }

, а мой метод OnProgressChanged выглядит следующим образом:

@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
    if (fromUser) {
        long duration = MediaPlayerManager.instance().getDuration();
        current.setText(Utils.stringForTime(progress / 100 * duration));
       }
    }

Короче говоря, моя проблема в том, что я не вижу вторичную буферизационную панель поверх моей основной панели поиска, и когда видео пропускается, оно не продолжается с новой позиции панели поиска.

Надеюсь, я прояснил свои проблемы ..

Я также попробовал решение из это и это ТАК Вопросы, но безрезультатно ..

Пожалуйста, пролите свет, где я иду не так ??

...