El estado del reproductor de contenidos determina qué acciones son legales.
Para trabajar con estados del reproductor de medios:
Puede recuperar el estado actual del objeto MediaPlayer
con MediaPlayer.getStatus()
.
La lista de estados se define en la enumeración MediaPlayerStatus.
Diagrama de estado-transición para el ciclo de vida de una instancia MediaPlayer
:
La siguiente tabla proporciona detalles sobre el ciclo de vida y los estados del reproductor de contenidos:
Estado | Ocurre cuando |
---|---|
IDLE | Estado inicial del reproductor de contenidos. 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 estableció correctamente el elemento de reproductor de contenidos. |
PREPARACIÓN | La aplicación llama a MediaPlayer.prepareToPlay() . El reproductor de medios está cargando el elemento del reproductor de medios 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á habilitada). El contenido está preparado y se han insertado anuncios en la cronología, o el procedimiento de publicidad ha fallado. Puede comenzar el almacenamiento en búfer o la reproducción. |
REPRODUCIR/PAUSAR | A medida que la aplicación reproduce y pone en pausa el contenido, el reproductor de contenidos 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. Llamar a MediaPlayer.restore() devuelve el reproductor al estado en el que se encontraba antes de SUSPENDER. La excepción es que si el reproductor está BUSCANDO cuando se llama a suspendido, el reproductor se PONE EN PAUSA y, a continuación, se SUSPENDE. Importante: Recuerde la siguiente información:
Si siempre desea pausar la reproducción cuando se restaure MediaPlayer, pida a la aplicación que llame a MediaPlayer.pause() en el método onPause() de la actividad de Android. |
COMPLETAR | El reproductor ha llegado al final de la emisión y la reproducción se ha detenido. |
PUBLICADO | La aplicación ha lanzado el reproductor de contenido, que también libera todos los recursos asociados. Ya no puede utilizar esta instancia. |
ERROR | Error durante el proceso. Un error también podría 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 seguir los siguientes pasos en la reproducción del contenido, como esperar al 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;
...
}
...
}
});