Saltar al contenido

Detectar pausa/reanudar en ExoPlayer

Este post ha sido probado por expertos para que tengas la seguridad de la veracidad de nuestra esta sección.

Solución:

tienes que comprobar playWhenReady con un Player.EventListener. Los estados de reproducción de ExoPlayer son independientes de si el reproductor está en pausa o no:

player.addListener(new Player.DefaultEventListener() 
  @Override
  public void onPlayerStateChanged(boolean playWhenReady, int playbackState) 
    if (playWhenReady && playbackState == Player.STATE_READY) 
      // media actually playing
     else if (playWhenReady) 
      // might be idle (plays after prepare()), 
      // buffering (plays when data available) 
      // or ended (plays when seek away from end)
     else 
      // player paused in any state
    
  
);

Para reproducir/pausar el reproductor, ExoPlayer proporciona

player.setPlayWhenReady(boolean)

La secuencia de estados de reproducción con ExoPlayer con un archivo multimedia que nunca se detiene para volver a almacenar en búfer es una vez en cada uno de los cuatro estados y no expresa reproducción/pausa:

Player.STATE_IDLE;
Player.STATE_BUFFERING;
Player.STATE_READY;
Player.STATE_ENDED;

Cada vez que el jugador necesita almacenar en búfer, dice:

Player.STATE_READY;
Player.STATE_BUFFERING;
Player.STATE_READY;

Configurar playWhenReady no afecta el estado.

En conjunto, su contenido multimedia se está reproduciendo cuando

playWhenReady && playbackState == Player.STATE_READY

Se reproduce cuando está listo. 🙂

Puedes usar esta función:

public boolean isPlaying() 
    return exoPlayer.getPlaybackState() == Player.STATE_READY && exoPlayer.getPlayWhenReady();

Debe ser que desde que se publicaron las otras respuestas, se ha proporcionado un nuevo método en Player.EventListener. Esto funciona bien para mi:

override fun onIsPlayingChanged(isPlaying: Boolean) 
    // your code here

Si está jugando es falseestá en pausa, de lo contrario en reproducción.

Reseñas y valoraciones del tutorial

Si haces scroll puedes encontrar las anotaciones de otros programadores, tú igualmente tienes la opción de insertar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *