2011-05-02 55 views
10

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

有没有人有线索?

谢谢。

+1

很难理解你,但我认为你想要的是一个不确定的进度条。 – user432209 2011-05-02 16:31:40

+0

对不起,如果我不清楚。 我的VideoView播放流媒体视频。所以当我开始活动时,只有在视频缓冲时才会看到黑屏。如果您通过实例查看YouTube应用,则会有一个动画解释视频正在加载,我不认为这是一个不确定的进度条。 我怎么能检测到视频缓冲? 谢谢 – magiccyril 2011-05-02 16:47:26

回答

6

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

我添加了一个进度条我的布局中,并与OnPreparedListener

+0

谢谢。我也是这样去的! – user123321 2011-11-06 00:50:32

40

或者,你可以使用进度对话框隐藏它;

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(); 
      } 
     }); 
    } 
} 
+3

你救了我的命!感谢@Amourreux万亿次。我知道它不适合在堆栈溢出方面感谢人们,但它也不足以让人们不告诉人们,如果他们在VideoView中遇到麻烦,那么这是一个解决方案。 :) – Prachi 2014-05-12 11:39:22

+0

如果用户寻求视频,你怎么能把一个progressBar,直到它再次流? – 2014-10-27 11:45:10

+0

@ Mr.G我不知道,但我的事情是由MediaController管理。再次我不确定。如果我正确理解你的问题。如果不是,这可能是好的和新的问题。 – 2014-10-27 12:14:45

3

你不能检测上MediaPlayer使用OnBufferingUpdateListener视频缓冲。如果您使用VideViewOnPreparedListener中的侦听器。

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 
     } 
     } 
    }); 
    } 
}); 
相关问题