2011-02-07 8 views
7

quiero mostrar el cuadro de diálogo de progreso antes de reproducir el video. Intenté a continuación el ejemplo del enlace para reproducir video.cómo mostrar la barra de progreso antes de reproducir el video

http://davanum.wordpress.com/2009/12/04/android-%E2%80%93-videomusic-player-sample-take-2/

funciona pero se necesita más tiempo para tomar para la reproducción de vídeo, así que quiero mostrar un cuadro de diálogo antes de iniciar el vídeo progreso. así que por favor contéstame cómo mostrar el diálogo de progreso antes de reproducir el video.

Gracias.

Atentamente.

+0

un mejor enfoque aquí http://www.quicktips.in/how-to-show-progressbar-while-loading-a-video-in-android-videoview/ –

Respuesta

18

En primer lugar, declarar el diálogo

private static ProgressDialog progressDialog; 

Luego, en onCreate, antes de llamar a runOnUiThread progreso, iniciar el diálogo

progressDialog = ProgressDialog.show(this, "", "Loading...", true); 

En playVideo, establecer un OnPreparedListener que cerrar el diálogo cuando el vídeo está listo para jugar

mVideoView.setOnPreparedListener(new OnPreparedListener() { 

    public void onPrepared(MediaPlayer arg0) { 
     progressDialog.dismiss(); 
     mVideoView.start(); 
    } 
}); 
2

Sugeriría mirar el AsyncTask documentation, esto parece ideal para hacer precarga de video. Esto le permitirá mantener su hilo de interfaz de usuario estable durante la carga. Hay un ejemplo del uso del método AsyncTask here.

Para añadir un diálogo de progreso:

  • crear un objeto privada ProgressDialog como parte de una clase de extensión de AsyncTask.
  • En el método onPreExecute() puede realizar la configuración arriba, como diálogo de progreso: pd.setMessage(...) pd.setTitle(...) pd.show(...)
  • En el método onPostExecute(...), cerrar el diálogo: pd.dismiss();

Además, puede actualizar el diálogo de progreso utilizando su incrementProgressBy(...) método, o alternativamente tiene una animación de bucle utilizando el método setIndeterminate(...). Dar al usuario comentarios sobre el progreso cargado es una buena idea en el diseño de la interfaz de usuario :)

Espero que esto ayude!

8

EN MI CASO, es m O agraciado para usar el widget ProgressBar inscrito en el cuadro de diálogo Progreso. Se ve mejor en la superficie del video. Se podría añadir la barra de progreso para la disposición de su actividad por encima de la VideoView:

<ProgressBar 
    android:id="@+id/progress" 
    android:indeterminate="true" 
    android:indeterminateBehavior="repeat" 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:layout_gravity="center"> 
</ProgressBar> 

En onCreate antes de llamar runOnUiThread, mostrar el progreso:

mProgress = (ProgressBar)findViewById(R.id.progress); 
mProgress.setVisibility(View.VISIBLE); 

En devolución de llamada onPrepared ocultar el progreso:

mProgress.setVisibility(View.INVISIBLE); 
Cuestiones relacionadas