Widziałem sporo postów z tym pytaniem na SO, ale nie wydaje się być ostateczną odpowiedź (lub przynajmniej odpowiedź lubię!)Jak strumieniowo uwierzytelniony treści z MediaPlayer na Androida
Mam zabezpieczoną zawartość za podstawowym uwierzytelnieniem (nazwa użytkownika/hasło) - mogę pobrać ją dobrze za pomocą różnych typów pobierania HTTP, ale dla mojego życia nie mogę określić, jak polecić odtwarzaczowi strumieniowemu przesyłanie strumieniowe (i zapewnić uwierzytelnianie). Widziałem jeden post sugerujący, że nie było to możliwe, ponieważ MediaPlayer jest natywnym kodem i nie ma takich rzeczy jak Authenticator.
Istnieje wiele przykładów, jak najpierw pobrać do kopii w pamięci podręcznej, a następnie odtwarzać z powrotem, ale .... Tego rodzaju do bani (i pliki może 100's MB). Widziałem co najmniej jedną propozycję pobrania go w małych kawałkach, a następnie rozpocznij odtwarzanie (przekierowanie do nowego pliku), ale ten rodzaj jest również do dupy, ponieważ istnieje (jak przypuszczam) zacinanie się (nie próbowałem tego)
Najlepszym pomysłem, jaki mam w tym momencie, jest rozpoczęcie pobierania do pliku pamięci podręcznej, a następnie, gdy jest "wystarczająco dużo", rozpoczęcie odtwarzania, podczas gdy nadal wypełnia się plik ... I nadzieję, że to działa (ale znowu, nie próbowałem tego).
Czy brakuje mi czegoś oczywistego? To tak bolesne, że wszystkie te elementy prawie działają i przekonałem się, że musi istnieć sposób na natywne przesyłanie chronionych treści (lub wymaga to już ustanowionego kwalifikowanego InputStream), ale wydaje się, że nie ma w tym żadnej radości.
BTW Jestem facetem Mac/iPhone i nowicjuszem w Androidzie, więc wciąż walczę trochę z nauką Java .... Przepraszam, jeśli brakuje mi czegoś oczywistego.
Z http://developer.android.com/guide/topics/media/index.html, "Uwaga: jeśli jesteś przekazując adres URL do internetowego pliku multimedialnego, plik musi mieć możliwość progresywnego pobierania. " Jeśli to nie jest to opublikuj kod. –
hej @ loghound czy znalazłeś rozwiązanie? Oprócz waszych rozważań myślę o używaniu czegoś takiego jak ciasteczko do przechowywania danych uwierzytelniających, a może funkcja pobierania Androidem go złapie. – sosergio
Odkryłem również, że nie można przesyłać strumieniowo HTTPS. W trakcie pracy wdrożyliśmy progresywne odtwarzanie i działa, ale jest dużo kodu. –