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

时间:2013-04-12 12:58:30

标签: java android video-streaming android-videoview live-streaming

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

这是由我成功完成的。 我在我的应用程序中管理了所有内容。

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

我尝试将OnPreparedListener用作“how to show the progress bar before playing the video

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

}

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

任何人都可以帮助我。

先谢谢。

2 个答案:

答案 0 :(得分:29)

看看这个解决了我的问题,希望对你有所帮助..

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


            }
        });

:)

答案 1 :(得分:2)

令人遗憾的是,Android没有公开OnStart Listener。准备状态后,MediaPlayer一旦开始播放就进入启动状态。

但是在准备状态下,你应该有足够的缓冲区来玩。您可以使用setOnBufferingUpdateListener(MediaPlayer.OnBufferingUpdateListener侦听器)并打印缓冲区的百分比。因此,您可以看到,如果处于准备状态,您是否有足够的缓冲区。