Jak mówi Vidar, ponowne ustanowienie połączenia będzie traktowane przez serwer jako nowe połączenie.
Wygląda na to, że muszę podwójnie buforować odtwarzanie dźwięku, co oznacza tworzenie niestandardowego odtwarzacza multimedialnego. Może to zapewnić ciągły dźwięk, ale nadal będzie pomijany podczas słuchania transmisji na żywo.
Plik MP3 jest nieco łatwiejszy, ponieważ mogę poznać położenie odtwarzania. Nie w przypadku transmisji na żywo.
Zgodnie z tym, co mówi gmaster, potrzebuję odbiornika, aby ustanowić nowe połączenie, gdy zmieni się sieć. Bufor audio z poprzedniego połączenia sieciowego powinien kontynuować odtwarzanie, podczas gdy nowy bufor audio jest wypełniany przez nowe połączenie.
Gdy nowy bufor jest wystarczająco pełny, aby rozpocząć odtwarzanie, mogę przełączyć na niego odtwarzanie. Jeśli przesyłam plik strumieniowo, z obsługą serwera i odrobiną pracy, mogę zapewnić, że bieżące dane pozycji odtwarzania znajdują się w obu buforach i przełączają się płynnie.
Ponieważ bufory strumieniowe na żywo nie mogą być zsynchronizowane, nieuchronnie wystąpi usterka podczas przełączania.
Większy bufor pozwoli uniknąć odrzucenia dźwięku, jeśli nawiązanie połączenia trwa chwilę, ale opóźnia pierwsze uruchomienie odtwarzania. Plik MP3 można pobrać i wypełnić bufor szybciej niż w czasie rzeczywistym, ale strumień na żywo będzie buforował w czasie rzeczywistym.
Chris.Jenkins wspomina o niektórych metodach MediaPlayer, które mogą pomóc, ale wskazuje na to, że wymaga to niestandardowej architektury. Będzie musiał zająć się warunkami, które wymienia, i innymi.
Jeśli mogę sprawić, że będzie ładnie, opublikuję go tutaj. Mam pytanie otwarte.
Jakiś kod, aby podzielić się z nami? – Erol
Jest wiele przykładów na pasku bocznym, jeśli potrzebujesz pomocy z MediaPlayer, ale to jest naprawdę prosta: 'MediaPlayer mMediaPlayer = MediaPlayer.create (kontekst, Uri.parse (URL));' 'mMediaPlayer.prepare (); ' ' mMediaPlayer.start(); ' rozpocznie grę. Jeśli jesteś podłączony do sieci Wi-Fi i masz zasięg 3G, wyłącz Wi-Fi podczas przesyłania strumieniowego, a odtwarzanie zatrzyma się. – lightversusdark
Tak, wiem, jak korzystać z odtwarzacza multimedialnego. Właśnie pytałem, czy spróbowałeś czegoś w tym imieniu i chcesz podzielić się swoimi postępami, abyśmy mogli to poprawić. – Erol