Comportamiento de pausa de MediaPlayer ()

Estoy usando un MediaPlayer para transmitir audio desde una URL.

De acuerdo con la documentación, la llamada a la pause MediaPlayer seguida de una play se reanudará desde el punto en que se hizo una pausa.

Me pregunto cómo funciona esto con un flujo de audio en vivo. Cuando llamo a la pause es el MediaPlayer creación de algún tipo de búfer de todos los datos entrantes, y el almacenamiento hasta que yo llame a play nuevo?

Si esto es realmente el caso, ¿hay un tamaño máximo en este búfer? Estoy preocupado sobre todo por un usuario pausando el MediaPlayer y usando una gran cantidad de memoria mientras almacena los datos de audio entrantes.

Como, entiendo que está utilizando Mediaplayer para la transmisión de audio de una URL .. algo así como los canales de radio. En este proceso, está utilizando buffers. Por lo tanto, el comportamiento que está recibiendo es bastante obvio. Cuando se detiene, los datos continúan almacenándose y al reanudar el flujo, comenzará desde el punto en que se detuvo.

Sin embargo, el streaming no debe comportarse de esta manera a diferencia del audio almacenado que comienza desde el punto en que se pausó. Streaming de audio siempre debe comenzar desde la transmisión en vivo en ese momento. Por lo tanto, onPause, debe liberar los búferes. Cuando el usuario reanuda la sesión de nuevo, puede reiniciar el flujo de la manera que lo hizo por primera vez. Así es como debe ser el comportamiento.

Si echa un vistazo, la transmisión de radio normal se implementa en la mayoría de las aplicaciones de streaming de radio.

  • Android MediaPlayer con AudioEffect: Obtención de error (-22,0)
  • ¿Cómo reanudar MediaPlayer en Android?
  • Android Cómo obtener la barra de progreso del reproductor de medios y también cómo mostrarla en cada pantalla de actividad superior
  • Cómo crear un plugin stagefright
  • ¿MediaSession y MediaSessionManager tienen compatibilidad con versiones anteriores?
  • Modo Doze y servicio de primer plano
  • Android MediaPlayer: Reproduce recursos de audio en RAW basado en URI
  • MediaPlayer salta hacia adelante unos 6 segundos en rotación
  • ¿Cómo puedo detectar que el objeto MediaPlayer comienza a reproducirse?
  • Android MediaPlayer.Create () devuelve null
  • MediaPlayer getTrackInfo () nunca incluye TimedText
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.