代码之家  ›  专栏  ›  技术社区  ›  user2118554

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

  •  16
  • user2118554  · 技术社区  · 11 年前

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

    这是我成功完成的。 我管理了我的应用程序中的每一件事。

    但当视频加载时,我需要在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秒后的视频播放进度条消失了。 我在谷歌上搜索了很多,但没有找到任何解决方案。

    有人能帮我吗。

    提前谢谢。

    2 回复  |  直到 7 年前
        1
  •  40
  •   Deepak Swami    9 年前

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

    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
  •  2
  •   Munish Katoch    11 年前

    令人难忘的是,安卓系统没有公开OnStart Listener。在“准备就绪”状态之后,一旦播放开始,MediaPlayer将进入“已启动”状态。

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