Come dice Vidar, il ripristino della connessione verrà considerato dal server come una nuova connessione.
Sembra che sia necessario eseguire il doppio buffer della riproduzione audio, il che significa creare un lettore multimediale personalizzato. Questo può fornire audio continuo, ma salterà comunque durante l'ascolto di un live stream.
Il file MP3 è un po 'più semplice perché posso conoscere la posizione di riproduzione. Non così con il live streaming.
Come dice il direttore, ho bisogno di un ricevitore broadcast per stabilire una nuova connessione quando la rete cambia. Il buffer audio dalla connessione di rete precedente dovrebbe continuare a essere riprodotto mentre un nuovo buffer audio viene riempito tramite la nuova connessione.
Quando il nuovo buffer è sufficientemente pieno per avviare la riproduzione, è possibile passare alla riproduzione. Se sto eseguendo lo streaming di un file, con il supporto del server e un po 'di lavoro, posso garantire che i dati di posizione di riproduzione correnti siano in entrambi i buffer e passino senza interruzioni.
Poiché i buffer del flusso live non possono essere sincronizzati, ci sarà inevitabilmente un problema tecnico quando si passa.
Un buffer più grande eviterà l'interruzione dell'audio se la connessione richiede un po 'di tempo per stabilire, ma ritarderà il primo avvio della riproduzione. Un file MP3 può essere scaricato e riempire il buffer più velocemente del tempo reale, ma il live stream si buffererà in tempo reale.
Chris.Jenkins menziona alcuni metodi di MediaPlayer che possono aiutare ma sottolinea che questo sembra aver bisogno di un framework personalizzato. Dovrà gestire le condizioni che menziona e altre.
Se riesco a farlo sembrare carino, lo posterò qui. Terrò la domanda aperta.
Qualche codice da condividere con noi? – Erol
C'è un sacco di esempi nella barra laterale, se hai bisogno di aiuto con MediaPlayer, ma è molto semplice: 'MediaPlayer mMediaPlayer = MediaPlayer.create (contesto, Uri.parse (url));' ' mMediaPlayer.prepare(); ' ' mMediaPlayer.start(); ' consente di iniziare. Se si è connessi al Wi-Fi e si dispone di copertura 3G, disattivare il Wi-Fi durante lo streaming e la riproduzione si fermerà. – lightversusdark
Sì, so come usare il lettore multimediale. Stavo solo chiedendo se hai provato qualcosa per quel motivo e voglio condividere i tuoi progressi in modo da poter migliorare su questo. – Erol