Autore Topic: MediaPlayer con input stream  (Letto 839 volte)

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
MediaPlayer con input stream
« il: 01 Settembre 2010, 11:26:47 CEST »
0
Per far suonare qualche cosa Android mette a disposizione la classe MediaPlayer, in particolare bastano queste righe di codice per far suonare il nostro device da uno stream proveniente da internet:

Codice (Java): [Seleziona]
MediaPlayer mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(URL_STREAM);
mMediaPlayer.prepare();
mMediaPlayer.start();

Ma se lo stream non è uno stream audio puro esiste un modo per far suonare il device passando i byte dell'MP3?

Il problema è il seguente. Alcuni stream audio (ad esempio quelli di SHOUTcast) sono inviati utilizzando il protocollo ICY, ovvero durante lo streaming audio vengono inviati anche dei dati sulla particolare canzone che sta suonando in quel momento.

In particolare lo stream è di questo tipo:


Quindi non posso passare direttamente la url al MediaPlayer, ma devo fare un pretrattamento dello stream, leggendo la parte Metadata a parte e inoltrando solo il flusso di byte riguardanti l'MP3 al MediaPlayer.

Avete idea su come posso fare?

Offline Baba

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S II
  • Sistema operativo:
    Windows 7
Re:MediaPlayer con input stream
« Risposta #1 il: 08 Ottobre 2012, 17:32:04 CEST »
0
Ciao...posso chiederti come hai risolto? Credo di avere il tuo stesso problema!