2013-04-12 23 views
11

Sto lavorando su un'applicazione in cui ho bisogno di riprodurre video da un server remoto come live streaming.Come mostrare la barra di avanzamento fino a quando il video non viene riprodotto in live streaming Android?

che è stato fatto da me con successo. ho gestito ogni cosa nella mia app.

ma quando il caricamento del video è necessario mostrare una finestra di dialogo di avanzamento su VideoView.

Ho provato ad utilizzare OnPreparedListener come "how to show the progress bar before playing the video"

@Override 
public void onPrepared(MediaPlayer mp) { 
    progressbar.setVisibility(View.GONE); 
    mp.start(); 

} 

ma il gioco video dopo 5-7 Sec di progressbar andato. ho cercato molto su Google ma non ho trovato alcuna soluzione per questo.

Qualcuno potrebbe aiutarmi.

Grazie in anticipo.

+0

e anche il mio guarda il video è trasparente fino a quando il video è in riproduzione. –

+0

ho osservato che Listener "onPrepared" ha chiamato immediatamente quando faccio clic sul pulsante ma il video viene riprodotto dopo 5-6 secondi. perché questo intervallo di tempo? –

risposta

26

uno sguardo questo risolto il mio problema speranza aiuto anche ..

http://www.quicktips.in/how-to-show-progressbar-while-loading-a-video-in-android-videoview/

progressbar.setVisibility(View.VISIBLE); 

videoView.setOnPreparedListener(new OnPreparedListener() { 

      @Override 
      public void onPrepared(MediaPlayer mp) { 



       mp.start(); 

       mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener() { 

        @Override 
        public void onVideoSizeChanged(MediaPlayer mp, int arg1, int arg2) { 
         // TODO Auto-generated method stub 
         Log.e(TAG, "Changed"); 
         progressbar.setVisibility(View.GONE); 
         mp.start(); 
        } 
       }); 


      } 
     }); 

:)

+0

ottimo ragazzo .. risolto il mio problema .. ma potresti per favore spiegare questo pezzo di codice .. voglio sapere qual è il processo esatto dietro questo codice .. –

+1

@DevelopSmart sicuro, come da documenti OnPreparedListener() è la definizione di interfaccia per un richiamata da richiamare quando la sorgente multimediale è pronta per la riproduzione. basta controllare il momento di inizio della visualizzazione del video utilizzando OnVideoSizeChangedListener() e nascondere la barra di avanzamento .. –

2

Indubbiamente non esiste nessun listener OnStart esposto da Android. Dopo lo stato pronto, MediaPlayer entra nello stato di avvio una volta avviata la riproduzione.

Ma in Stato pronto solo si dovrebbe avere un buffer sufficiente per giocare. È possibile utilizzare setOnBufferingUpdateListener (MediaPlayer.OnBufferingUpdateListener listener) e stampare la percentuale del buffer. In questo modo puoi vedere, se in Stato pronto hai un buffer sufficiente o no.