Cómo transmitir contenido autenticado con MediaPlayer en Android

He visto bastantes publicaciones haciendo esta pregunta en SO, pero no parece haber una respuesta definitiva (¡o al menos una respuesta que me guste!)

Tengo contenido protegido detrás de la autenticación básica (nombre de usuario / contraseña): puedo descargarlo bien usando las diversas clases de descarga HTTP, pero por el momento no puedo resolver cómo decirle al reproductor multimedia que lo transmita (y proporcionar la autenticación) Vi una publicación que sugería que no era posible ya que MediaPlayer es todo código nativo y no funciona como Authenticator.

Hay muchos ejemplos de cómo descargar primero en una copia en caché y luego reproducirlo, pero ... Eso apesta (y los archivos pueden ser cientos de MB). Vi al menos una propuesta para descargarlo en fragmentos pequeños y luego iniciar y detener la reproducción (redirigiendo al nuevo archivo), pero ese tipo de apesta también ya que (supongo) habría un tartamudeo (aunque no lo he probado )

La mejor idea que tengo en este momento es comenzar a descargar en un archivo de caché y luego cuando esté 'suficientemente lleno', iniciar la reproducción mientras continúo llenando el archivo ...esperanza que esto funciona (pero de nuevo, no lo he probado).

¿Me estoy perdiendo algo obvio? Es muy doloroso tener todas las piezas casi funcionando y me convencí de que tenía que haber una forma de transmitir contenido protegido de forma nativa (o que necesitara un InputStream ya establecido y calificado), pero no parece una alegría.

Por cierto, soy un tipo de Mac / iPhone y un novato en Android, así que todavía estoy luchando un poco por el aprendizaje de Java ... Disculpe si me falta algo obvio.

Respuestas a la pregunta(3)

Su respuesta a la pregunta