2013-02-26 17 views
10

voglio flusso di un file audio mp3 e poi giocare attraverso il lettore multimediale Android in più ho anche voler mettere in cache questo file, in modo che mediaplayer non hanno per lo streaming di recente giocato brani.file audio in streaming e la memorizzazione nella cache è

Ho provato a utilizzare il metodo prepareAsync ma non mi consente di accedere al contenuto del buffer, quindi ho deciso di eseguire lo streaming del file audio personalmente e quindi di passarlo al lettore multimediale per la riproduzione. Ho raggiunto questo obiettivo seguendo questo articolo here ma questo approccio ha un problema, ad esempio durante il trasferimento del file sul lettore multimediale passa alla modalità di errore che causa il comportamento incoerente del mio lettore.

Quando il lettore multimediale entra in modalità errore, non ne esce automaticamente, quindi sono costretto a creare un nuovo lettore multimediale e quindi a fornire nuovamente il file scaricato, questa soluzione fa sì che l'utente sperimenti una pausa indesiderata nella canzone che suona.

Quindi, qualcuno ha migliorato una versione di codice indicata in link? o sanno una soluzione migliore a questo problema o c'è effettivamente una libreria per lo streaming di un file audio in Android?

Grazie

+0

Da un punto di vista 'MediaPlayer', la sorgente di input astratta come' DataSource' dovrebbe essere in grado di funzionare nel modello pull. Dal tuo commento precedente, 'MediaPlayer' estrarrà i dati dalla tua sorgente streaming. Puoi confermare che la tua fonte supporta una modalità di operazione pull? Puoi condividere gli errori che hai affrontato? – Ganesh

+0

@Ganesh non ho familiarità con il modello di pull, puoi spiegarlo o puoi menzionare qualsiasi link che implementa o spiega il modello di pull media player – prateek

risposta

0

Il link che hai fornito si presenta come una soluzione ideale inferiore (per non parlare obsoleto). Quello che probabilmente vorresti è un server proxy locale che ti dia accesso ai dati di byte prima che lo sia MediaPlayer. Vedere la mia risposta here per qualche altra spiegazione.

Problemi correlati