VideoView丢失缓冲区

时间:2018-11-16 23:28:33

标签: android video buffer

我制作了一个简单的应用程序(或代码示例)来复制视频,但是当我在视频中使用“ seekTo(int)”时,加载的缓冲区丢失了,为什么会发生..? = /。

这就是我认为的部分,您需要看看。

 videoView.setKeepScreenOn(true);
    //videoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.second_consumible));
    videoView.setMediaController(new MediaController(this));
    videoView.setVideoURI(Uri.parse("https://www.addpipe.com/sample_vid/short.mp4"));

    videoView.requestFocus();

    DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics);
    android.widget.LinearLayout.LayoutParams params = (android.widget.LinearLayout.LayoutParams) videoView.getLayoutParams();
    params.width =  metrics.widthPixels;
    params.height = metrics.heightPixels;
    params.leftMargin = 0;
    videoView.setLayoutParams(params);

    videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(final MediaPlayer mp) {
            videoView.start();
            mp.setVolume(0f,0f);
            seekBar.setProgress(0);
            seekBar.setMax(videoView.getDuration());
        }
    });

我还尝试了Exoplayer,并且发生的情况完全相同。

问题:

问题是,视频在本地(在电话中)具有的行为与视频在流中的行为不同(因为如果我使用seekto(int),则缓冲区会在加载后丢失,是有解决方案吗??

预先感谢

0 个答案:

没有答案