¿Alguien sabe si es posible detectar cuando un VideoView está almacenado en el búfer?Detecta si un VideoVIew está almacenando en el buffer
Quiero mostrar un ProgressDialog cuando el video está almacenado.
Hasta ahora he intentado usar un OnPreparedListener, pero eso solo funciona cuando el video se carga por primera vez. Si se está reproduciendo un video y el usuario mueve la barra de fregado a un punto diferente, el video todavía está "preparado" aunque esté almacenado en el búfer.
También probé (sé que esto es horrible) un AsyncThread que sólo ocupado espera en isPlaying():
private class BufferTask extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(Void...voids) {
final VideoView videoView = (VideoView)findViewById(R.id.video);
while (!videoView.isPlaying()) { }
return null;
}
protected void onPostExecute(Void v) {
// Hide the dialog here...
}
}
Esto no funciona porque tan pronto como se llama a start() un VideoView parece se considerará jugar aunque sea buffering
La única solución que se me ocurre es crear una clase de tipo de VideoView personalizada para que pueda acceder a su instancia de MediaPlayer.
¿Alguna idea? Gracias por leer.
¿Ha solucionado su problema? –