我正在开发一个应用程序,我需要从远程服务器播放视频作为直播。
这是由我成功完成的。 我在我的应用程序中管理了所有内容。
但是当加载视频时,我需要在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上搜索了很多但没找到任何解决方案。
任何人都可以帮助我。
先谢谢。
答案 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侦听器)并打印缓冲区的百分比。因此,您可以看到,如果处于准备状态,您是否有足够的缓冲区。