2011-10-11 15 views

Respuesta

23

¡Finalmente me di cuenta!

La solución que se me ocurrió fue algo como esto:

En primer lugar establece el avance máximo para seekbar como la duración del video

videoView.setOnPreparedListener(new OnPreparedListener() { 

     @Override 
     public void onPrepared(MediaPlayer mp) { 

      seekBar.setMax(videoView.getDuration()); 
      seekBar.postDelayed(onEverySecond, 1000); 
     } 
    }); 

Este ejecutable mantendrá en la actualización del progressbar :

private Runnable onEverySecond=new Runnable() { 

    @Override 
    public void run() { 

     if(seekBar != null) { 
      seekBar.setProgress(videoView.getCurrentPosition()); 
     } 

     if(videoView.isPlaying()) { 
      seekBar.postDelayed(onEverySecond, 1000); 
     } 

    } 
}; 

Y entonces el setOnSeekBarChangeListener para la barra de búsqueda se puede utilizar para tomar el usuario busca en los medios de comunicación. Mediante el uso de la FROMUSER booleano podemos hacer si era una llamada de espalda debido a la interacción del usuario o las

seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 
     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 
     } 

     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress, 
       boolean fromUser) { 

      if(fromUser) { 
       // this is when actually seekbar has been seeked to a new position 
       videoView.seekTo(progress); 
      } 
     } 
    }); 
+0

¡genial! pero cuando el video se termina y quiero reproducir 'videoView.start()' de nuevo, seekBar no funciona, ¿cómo resolver este problema? –

0

Configura el seconday progress.

No, estás en el camino correcto. Es muy bueno para mostrar cosas como el progreso de la descarga y la ubicación actual de las transmisiones (medios).

+0

Gracias por la respuesta. Pero estoy usando un progreso secundario para mostrar la cantidad de transmisión. Estoy publicando debajo de lo que se me ocurrió. –

Cuestiones relacionadas