Java 在实时流Android中视频播放之前如何显示进度条?
我正在开发一个应用程序,需要将远程服务器上的视频作为实时流播放 这是我成功完成的。 我管理我应用程序中的每件事 但当视频加载时,我需要在VideoView上显示进度对话框 我尝试将OnPreparedListener用作“” 但progressbar 5-7秒后的视频播放消失了。 我在谷歌上搜索了很多,但没有找到任何解决方案 谁能帮帮我吗Java 在实时流Android中视频播放之前如何显示进度条?,java,android,video-streaming,android-videoview,live-streaming,Java,Android,Video Streaming,Android Videoview,Live Streaming,我正在开发一个应用程序,需要将远程服务器上的视频作为实时流播放 这是我成功完成的。 我管理我应用程序中的每件事 但当视频加载时,我需要在VideoView上显示进度对话框 我尝试将OnPreparedListener用作“” 但progressbar 5-7秒后的视频播放消失了。 我在谷歌上搜索了很多,但没有找到任何解决方案 谁能帮帮我吗 提前谢谢 令人难忘的是,Android没有公开OnStart侦听器。准备就绪状态后,一旦开始播放,MediaPlayer将进入启动状态 但只有在准备就绪的状态
提前谢谢 令人难忘的是,Android没有公开OnStart侦听器。准备就绪状态后,一旦开始播放,MediaPlayer将进入启动状态
但只有在准备就绪的状态下,您才应该有足够的缓冲区来播放。是否可以使用setOnBufferingUpdateListener(MediaPlayer.OnBufferingUpdateListener侦听器)并打印缓冲区百分比。这样你就可以看到,如果处于准备状态,你是否有足够的缓冲区。看看这个解决了我的问题,希望对你也有帮助
:)而且在播放视频之前,我的视频视图是透明的。我观察到,当我单击按钮时,“onPrepared”侦听器会立即调用,但视频播放时间为5-6秒。为什么是这个时间间隔?好家伙。。解决了我的问题。。但是你能解释一下这段代码吗。。我想知道这段代码背后的确切过程是什么。@DevelopSmart sure,根据文档OnPreparedListener()是在媒体源准备好播放时调用回调的接口定义。只需使用OnVideoSizeChangedListener()检查视频视图的开始时刻并隐藏进度条..我们如何知道视频是否再次开始渲染,如果视频正在渲染,我每次都需要显示加载程序…此代码中是否有其他视频播放状态?
@Override
public void onPrepared(MediaPlayer mp) {
progressbar.setVisibility(View.GONE);
mp.start();
}
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();
}
});
}
});