在VideoView开始播放之前,我找不到任何显示加载动画(或只是imageView)的解决方案:在视频缓冲期间。
有没有人有线索?
感谢。
答案 0 :(得分:41)
或者您可以使用进度对话框;
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();
}
});
}
}
答案 1 :(得分:6)
最后我在VideoView上找到了方法setOnPreparedListener()
。
我在布局中添加了一个ProgressBar,并使用OnPreparedListener隐藏它
答案 2 :(得分:3)
您无法使用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
}
}
});
}
});