我找不到任何解决方案,在VideoView开始播放之前显示加载动画(或只是imageView):在视频正在缓冲时。
有人有线索吗?
谢谢。
我找不到任何解决方案,在VideoView开始播放之前显示加载动画(或只是imageView):在视频正在缓冲时。
有人有线索吗?
谢谢。
或者您可以直接使用进度对话框(Progress Dialog);
public class VideoEkrani extends Activity {
VideoView ekran;
String kaynakYolu = "http://commonsware.com/misc/test2.3gp";
ProgressDialog progDailog;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.sayfa_video_goruntule);
ekran = (VideoView) findViewById(R.id.videoViewESPU);
ekran.setMediaController(new MediaController(this));
ekran.setVideoURI(Uri.parse(kaynakYolu));
ekran.requestFocus();
ekran.start();
progDailog = ProgressDialog.show(this, "Please wait ...", "Retrieving data ...", true);
ekran.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
progDailog.dismiss();
}
});
}
}
使用OnBufferingUpdateListener
无法检测MediaPlayer
的视频缓冲区。如果您使用VideView
,请在OnPreparedListener
内设置该侦听器。
videoview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mp.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
@Override
public void onBufferingUpdate(MediaPlayer mp, int percent) {
if(percent == 100){
//video have completed buffering
}
}
});
}
});
最终我在VideoView上找到了setOnPreparedListener()
方法。
我在布局中添加了一个ProgressBar,并通过OnPreparedListener隐藏它。