2012-04-26 16 views
5

Hay un problema en mi solicitud, quiero usar la función() seekTo con VideoView así:la función seekTo() no funciona en VideoView

videoView.seekTo(time); 
videoView.start(); 

Funciona bien en Android 2.2, pero no funciona en la versión de Android 2.3 o superior ... ¿Algún cuerpo me dirá por qué? Me preocupa por los días de servicio.

+0

¿estás seguro de que estás esperando el tiempo suficiente para decidir que no está funcionando? en uno de mis teléfonos LG, por ejemplo, seekTo toma como siempre. mientras que en mi otro teléfono LG, en realidad no es tan malo –

Respuesta

1

Para el funcionamiento correcto del método seekTo(), el estado del video debe estar en PlaybackState.

Pagar el VideoViewsource here para obtener más información.

3

La llamada a VideoView.start() se debe realizar solo después de que se haya completado la búsqueda. La llamada a VideoView.seekTo() inicia una búsqueda, pero desafortunadamente VideoView no es compatible con OnSeekCompleteListener necesario para notificar que la búsqueda está realmente hecha.

Puede personalizar VideoView para compatibilidad con OnSeekCompleteListener como se muestra en my answer to 7990784.

Luego puede registrarse para recibir onSeekComplete() llamando al setOnSeekCompleteListener(). Su implementación del oyente debe llamar al VideoView.start().

+2

Esta es simplemente la mejor respuesta. Fácil de implementar y realmente funciona. Obtengo la referencia al 'MediaPlayer' en' onPrepared() 'y la utilizo para hacer el resto (establezco' OnSeekListener' y llamo 'seekTo()'). – Sufian

0

Esta solución debería funcionar. El problema puede ser que el reproductor de medios dentro de videoView no se ha creado.

Es fácil de probar, cambiando la orientación del dispositivo. Así es como lo probé.

videoView.setOnPreparedListener(onPreparedListener); 
private MediaPlayer.OnPreparedListener onPreparedListener = new MediaPlayer.OnPreparedListener() { 
    public void onPrepared(MediaPlayer mp) { 
     mp.seekTo(videoPosition); 
    } 
}; 
Cuestiones relacionadas