如何在直播中播放视频之前显示进度条Android?

我正在开发一个应用程序,我需要从远程服务器播放视频作为实时流。

这是我成功做到的。我管理了我的应用程序中的所有内容。

但是当视频加载时,我需要在VideoView上显示进度对话框。

我尝试使用OnPreparedListener作为“如何在播放视频之前显示进度条”"

@Override
public void onPrepared(MediaPlayer mp) {
    progressbar.setVisibility(View.GONE);
    mp.start();

}

但是视频播放后5-7秒的进度条消失了。我在谷歌上搜索了很多,但没有找到任何解决方案。

任何人都可以帮我。

提前致谢。


答案 1

看看这个解决了我的问题,希望也能帮助你。

http://www.quicktips.in/how-to-show-progressbar-while-loading-a-video-in-android-videoview/

 progressbar.setVisibility(View.VISIBLE);

 videoView.setOnPreparedListener(new OnPreparedListener() {

            @Override
            public void onPrepared(MediaPlayer mp) {



                mp.start();

                mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener() {

                    @Override
                    public void onVideoSizeChanged(MediaPlayer mp, int arg1, int arg2) {
                        // TODO Auto-generated method stub
                        Log.e(TAG, "Changed");
                        progressbar.setVisibility(View.GONE);
                        mp.start();
                    }
                });


            }
        });

:)


答案 2

令人不安的是,Android没有公开OnStart监听器。在“就绪”状态之后,媒体播放器将在播放开始后进入“已启动”状态。

但在“就绪状态”中,只有您应该有足够的缓冲区来播放。您可以使用 setOnBufferingUpdateListener (MediaPlayer.OnBufferingUpdateListener listener) 和缓冲区的打印百分比吗?这样,您就可以看到,在“就绪”状态下是否有足够的缓冲区。


推荐