Cómo mostrar la barra de progreso antes de reproducir el video

Quiero mostrar el diálogo de progreso antes de reproducir el video. Intenté abajo el ejemplo del acoplamiento para jugar el vídeo.

Android – Video/Music player sample (Take #2)

Funciona, pero se necesita más tiempo para tomar para reproducir vídeo, así que quiero mostrar un diálogo de progreso antes de iniciar el video. Así que por favor díganme cómo mostrar el diálogo de progreso antes de reproducir el video.

Gracias.

Atentamente.

Primero, declare el diálogo de progreso

private static ProgressDialog progressDialog; 

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

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

En playVideo, establezca un OnPreparedListener que descartará el diálogo cuando el video esté listo para jugar

 mVideoView.setOnPreparedListener(new OnPreparedListener() { public void onPrepared(MediaPlayer arg0) { progressDialog.dismiss(); mVideoView.start(); } }); 

IMHO en este caso es más gracioso utilizar el widget ProgressBar insted del diálogo Progress. Se ve mejor en la superficie del video. Puede agregar la barra de progreso al diseño de su actividad por encima del 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 a runOnUiThread, muestre el progreso:

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

En onPrepared callback ocultar el progreso:

 mProgress.setVisibility( View.INVISIBLE ); 

Yo sugeriría mirar la documentación AsyncTask , esto parece ideal para hacer la pre-carga de vídeo. Esto le permitirá mantener su hilo de interfaz de usuario estable durante la carga. Hay un ejemplo de utilizar el método AsyncTask aquí .

Para agregar un diálogo de progreso:

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

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

¡Espero que esto ayude!

  • Live555 en Android
  • Android MediaRecorder setOutPutFile () para transmitir utilizando Socket
  • Androide a androide flujo de vídeo en vivo a través de Wifi directo (P2P)
  • Cómo grabar HLS streaming android?
  • Generar miniatura del enlace de vídeo del servidor android
  • ¿Cómo obtener estadísticas de tráfico de red para aplicaciones de streaming de vídeo en Android?
  • Cámara Android RTSP / RTP Stream?
  • Android cómo jugar video usando VLC Player?
  • Cómo grabar streaming de vídeo?
  • UDP Video Streaming en Android
  • Tipo de video mime de Android HLS
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.