6

Implementé un e-Reader que tiene reproductores de video incrustados, necesito una opción para alternar el modo de pantalla completa desde el reproductor.Cambios en VideoView, pantalla completa y orientación - Android

Mi pregunta es la siguiente:

¿Cuál es la mejor manera de reproducir un vídeo en pantalla completa y permite al usuario volver de este estado a la página que está leyendo antes y también mantener la hora actual del video .

Otra situación complicada que necesito para manejar es:

Hay diferentes visualizaciones de una página en vertical y horizontal, si la pantalla completa de palanca de usuario en el retrato y gire el dispositivo, el vídeo debe ir al modo horizontal y cambiar la escala de la video para que se ajuste a la pantalla, pero si el usuario regresa de esta página, debe regresar al retrato una vez más.

Soy capaz de dar más información si es necesario. Gracias de antemano

Respuesta

9

me pueden recomendar el uso de Activity con VideoView en la disposición.

Puede guardar la posición de cambio de la orientación como ésta

@Override 
protected void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    if (mVideoView.isPlaying()) outState.putInt("pos", mVideoView.getCurrentPosition()); 
} 

continuación, restaurar la posición y reanudar la reproducción en el método onCreate

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.video); 

    mVideoView = (VideoView) findViewById(R.id.video); 
    MediaController mediaController = new MediaController(this); 
    mediaController.setAnchorView(mVideoView); 
    mVideoView.setMediaController(mediaController); 
    mVideoView.setOnCompletionListener(this); 

    Intent intent = getIntent(); 
    path = intent.getExtras().getString("path"); 

    int pos = 0; 
    if (savedInstanceState != null) { 
     pos = savedInstanceState.getInt("pos"); 
    } 

    playVideoFromPos(pos); 
} 
+1

En realidad, el mayor problema es acerca de la eliminación de la antigua VideoView de la página y mantener sus cambios de orientación a través de estado constante. (No recrear la actividad de fondo) –

+0

Ok, tenemos mVideoView.getCurrentPosition() así que cómo configurar videoview a este valor. Y el problema principal es saber cuánto tiempo ha jugado el video y configurarlo – Sameer

+1

'mVideoView.getCurrentPosition()' le da tiempo a la cantidad de video que se ha reproducido y lo guarda en 'outState'. Luego, en 'onCreate', comprueba si' savedInstanceState' tiene esta hora guardada. En el método 'playVideoFromPos (int pos)' puede llamar a 'mVideoView.seekTo (pos);' y 'mVideoView.start();'. Eso hará lo que necesites. – vasart

Cuestiones relacionadas