que he visto bastantes mensajes pidiendo esta pregunta en el SO, pero no parece ser una respuesta definitiva (o, al menos, una respuesta que me gusta!)cómo se debe transmitir contenido autenticado con MediaPlayer en Android
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 mi vida no puedo resolver cómo decirle al reproductor multimedia que lo transmita (y proporcione la autenticación). Vi una publicación que sugería que no era posible, ya que el MediaPlayer es todo código nativo y no le gusta el autenticador.
Hay muchos ejemplos de cómo descargar primero a una copia almacenada en la memoria caché y luego reproducirla, pero ... Eso es una mierda (y los archivos tal vez 100 de MB). Vi al menos una propuesta para descargarlo en fragmentos pequeños y luego iniciar & detener la reproducción (redirigir al nuevo archivo) pero ese tipo de mierda también porque habría (supongo) que es un tartamudeo (no lo he intentado aunque)
la mejor idea que tengo en este momento es para iniciar la descarga de un archivo de caché y luego cuando es 'suficientemente completo' puesta en marcha de la reproducción mientras continúo para llenar el archivo .... me esperanza de que esto funciona (pero de nuevo, no lo he probado).
¿Me falta algo obvio? Es muy doloroso tener todas las piezas trabajando y me convencí a mí mismo de que tenía que haber una forma de transmitir de forma nativa el contenido protegido (o hacer que tomara un InputStream calificado ya establecido en &), pero parece no serlo.
BTW Soy un chico de Mac/iPhone y un principiante en Android, así que todavía estoy peleando un poco de aprendizaje de Java ... Disculpe si me falta algo obvio.
desde http://developer.android.com/guide/topics/media/index.html, "Nota: si usted es al pasar una URL a un archivo multimedia en línea, el archivo debe poder descargarse progresivamente ". Si no es así, publica un código. –
hey @loghound ¿Has encontrado una solución? Además de sus consideraciones, estoy pensando en usar algo así como una cookie para almacenar credenciales, y tal vez la función de transmisión de Android lo capte. – sosergio
También descubrí que no puede transmitir HTTPS. Como solución alternativa, implementamos la reproducción progresiva y funciona, pero es una gran cantidad de código. –