搜索栏未显示正在缓冲的辅助栏,当单击搜索栏时,视频视图未跳至点击位置

时间:2019-02-25 13:38:06

标签: android android-mediaplayer media-player android-videoview android-seekbar

我已经将github上的this项目实施到了我的项目中。

我面临以下问题:

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

简而言之,我的问题是我在主搜索栏的顶部看不到辅助缓冲栏,并且当视频被跳过时,它不会从新的搜索栏位置继续播放。

希望我已经明确了我的问题。

我还尝试了thisthis的问题解答,但无济于事。

请告诉我我要去哪里错了?

0 个答案:

没有答案