在VideoView启动之前Android加载动画

mag*_*ril 13 android android-videoview

在VideoView开始播放之前,我找不到任何显示加载动画(或只是一个imageView)的解决方案:在视频缓冲期间.

有人有线索吗 ?

谢谢.

Meh*_*mre 42

或者你可以使用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();
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 你救了我的命!感谢百万万亿次@Amourreux.我知道有人不喜欢感谢堆叠溢出的人,但它也不足以让它不告诉别人,如果他们在VideoView中遇到麻烦,这个就是解决方案.:) (3认同)

mag*_*ril 6

最后我setOnPreparedListener()在VideoView上找到了这个方法.

我在布局中添加了一个ProgressBar,并使用OnPreparedListener隐藏它


小智 5

您无法使用OnBufferingUpdateListeneron 检测视频缓冲区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
         }
       }
     });
   }
});
Run Code Online (Sandbox Code Playgroud)