El estado del reproductor de contenidos determina qué acciones son legales.
Para trabajar con estados de reproductor de contenidos:
Puede recuperar el estado actual de MediaPlayer
objeto con MediaPlayer.getStatus()
.
La lista de estados se define en la variable MediaPlayerStatus enum.
Diagrama de transición de estado para el ciclo de vida de un MediaPlayer
instancia:
La siguiente tabla proporciona detalles sobre el ciclo de vida y los estados del reproductor de contenidos:
Estado | Se produce cuando |
---|---|
INACTIVO | Estado inicial del reproductor de contenido. El reproductor se crea y está esperando a que especifique un elemento del reproductor de contenidos. |
INICIALIZACIÓN | La aplicación llama a MediaPlayer.replaceCurrentItem() . Se está cargando el elemento del reproductor de contenidos. |
INICIALIZADO | TVSDK ha establecido correctamente el elemento del reproductor de contenidos. |
PREPARANDO | La aplicación llama a MediaPlayer.prepareToPlay() . El reproductor de contenidos está cargando el elemento del reproductor de contenidos y los recursos asociados. |
PREPARADO | TVSDK ha preparado el flujo de medios y ha intentado realizar la resolución de anuncios y la inserción de anuncios (si está activada). El contenido se prepara y los anuncios se insertan en la cronología, o bien se produce un error en el procedimiento publicitario. Puede comenzar el almacenamiento en búfer o la reproducción. |
REPRODUCCIÓN/PAUSA | A medida que la aplicación reproduce y pausa el contenido, el reproductor de contenido se mueve entre estos estados. |
SUSPENDIDO | Si la aplicación sale de la reproducción, apaga el dispositivo o cambia de aplicación mientras el reproductor se está reproduciendo o pausando, el reproductor de contenidos se suspende y se liberan los recursos. Llamando MediaPlayer.restore() devuelve al reproductor al estado en el que se encontraba antes de SUSPENDERLO. La excepción es que si se llama al reproductor SEEKING cuando está suspendido, el reproductor se PONE EN PAUSA y luego SE SUSPENDE. Importante: Recuerde la siguiente información:
Si siempre desea que la reproducción se detenga cuando se restaure MediaPlayer, solicite a la aplicación que invoque MediaPlayer.pause() en la actividad de Android onPause() método. |
COMPLETADO | El reproductor ha llegado al final del flujo y la reproducción se ha detenido. |
PUBLICADO | La aplicación ha lanzado el reproductor de contenidos, que también libera todos los recursos asociados. Ya no puede utilizar esta instancia. |
ERROR | Se ha producido un error durante el proceso. Un error también puede afectar a lo que la aplicación puede hacer a continuación. Para obtener más información, consulte Configuración de la gestión de errores . |
Puede utilizar el estado para proporcionar comentarios sobre el proceso, por ejemplo, un control de número mientras espera el siguiente cambio de estado, o realizar los siguientes pasos en la reproducción de medios, como esperar el estado adecuado antes de llamar al siguiente método.
Por ejemplo:
mediaPlayer.addEventListener(MediaPlayerEvent STATUS_CHANGED, new StatusChangeEventListener() {
@Override
public void onStatusChanged(MediaPlayerStatusChangeEvent event) {
switch(event.getStatus()) {
case INITIALIZED:
mediaPlayer.prepareToPlay();
break;
case PREPARING:
showBufferingSpinner();
break;
case PREPARED:
hideBufferingSpinner();
mediaPlayer.play();
break;
...
}
...
}
});