2011-05-02 24 views
10

VideoView başlatılmadan önce bir yükleme animasyonu göstermek için herhangi bir çözüm bulamıyorum (veya sadece bir imageView): video arabelleğe alınırken.VideoView animasyonu öncesi animasyon yükleme

Kimsenin bir ipucu var mı?

Teşekkürler.

+1

Sizi anlamak zor ama bence istediğiniz şey belirsiz bir ilerleme çubuğu. – user432209

+0

Üzgünüm, açık değilim. Videomum akışımda bir video oynatıyor. Böylece etkinlik başladığımda, video arabelleğe alınırken sadece siyah bir ekran görüyorum. Örneğin, YouTube uygulamasına bakarsanız, videonun yüklenmekte olduğunu anlatan bir animasyon vardır ve bunun bir inderterminate ilerleme çubuğu olduğunu düşünmüyorum. Videonun arabelleğe alındığını nasıl tespit edebilirim? Teşekkürler – magiccyril

cevap

6

Sonunda VideoView'da setOnPreparedListener() yöntemini buldum.

Düzenime içinde bir ProgressBar eklendi ve OnPreparedListener

+0

Teşekkürler. Ben de bununla gittim! – user123321

40

Ya da sadece İlerleme İletişimi aracını kullanabilirsiniz ile gizlemek;

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

Hayatımı kurtardın! Bir milyon-trilyon kez teşekkürler @Amourreux. Yığın taşmasına insanlara teşekkür etmek için uygunsuz olduğunu biliyorum, ama aynı zamanda insanlara söylemeden gitmesine izin vermek de yetersiz, VideoView'de sorun yaşıyorsanız, bu çözümdür. :) – Prachi

+0

Kullanıcı video arıyorsa, tekrar akışa kadar bir progressBar nasıl koyabilirsiniz? –

+0

@ Mr.G Emin değilim ama bu olay MediaController tarafından yönetiliyor. yine emin değilim. eğer sorunuzu doğru anlarsam. değilse, iyi ve yeni bir soru mesajı olabilir. –

3

Sen MediaPlayer üzerinde OnBufferingUpdateListener kullanarak video tampon tespit edemeyiz. VideView'u kullanırsanız, bu öğeyi OnPreparedListener içine yerleştirin.

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 
     } 
     } 
    }); 
    } 
}); 
İlgili konular