¡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);
}
}
});
¡genial! pero cuando el video se termina y quiero reproducir 'videoView.start()' de nuevo, seekBar no funciona, ¿cómo resolver este problema? –