[iOs] AudioStreamer e ShoutCast: come riprodurre la nostra web radio in un’app

internet-radioAvete una vostra web radio o semplicemente volete condividere la vostra playlist preferita? Sicuramente conoscete SHOUTcast, storico programma per la condivisione di streaming audio e la realizzazione di web-radio amatoriali e, direi, professionali. 

Potete scaricare il server di ShoutCast sul sito ufficiale gratuitamente per varie piattaforme:

http://www.shoutcast.com/broadcast-tools

Seguite le istruzioni di installazione e riuscirete in pochi passi a configurare un servizio online (su una pagina web pubblica) per la trasmissione in streaming della vostra radio, grazie a SHOUTcast D.N.A.S. Avrete una pagina web tipo questa, da dove andremo a recuperare lo streaming audio e le info sulla traccia corrente:

 

SHOUTCAST SERVER DNAS

 

Per ulteriori info su come creare la vostra webradio con ShoutCast e Winamp vi consiglio di leggere questo tutorial: http://www.gozzinet.net/2009/06/01/come-creare-una-webradio-con-winamp-e-shoutcast/

In questo articolo ci concentriamo più che altro sulla realizzazione di un’app che vi permetterà di riprodurre lo streaming di ShoutCast, accedendo alla pagina web creata dal server suddetto. Tutto è molto semplice, perché basta scaricare e customizzare l’ottimo progetto di Matt Gallagher su GitHub:

https://github.com/mattgallagher/AudioStreamer

Tale progetto è consigliato addirittura da Google (AudioStreamer Metadata Google Code). La classe AudioStreamer vi permette di:

  • a partire dalla URL della pagina web generata da SHOUTcast D.N.A.S., di riprodurre lo streaming audio
  • vi mette a disposizione i controlli PLAY e STOP per la riproduzione
  • permette il controllo del volume del vostro iPhone

Tuttavia, non vi permette di recuperare le informazioni sulla traccia correntemente in riproduzione. Teoricamente queste informazioni sono contenute nei metadati del pacchetto HTTP dello streaming (più precisamente nel pacchetto ICY), così come si legge in questo articolo: Shoutcast Metadata Protocol.

Onestamente non sono riuscito a recuperare in modo agevole le informazioni su titolo, artista e cover della copertura dell’album della traccia in riproduzione, dai metadati del pacchetto ICY. Occorrerebbe individuare il punto preciso in cui andare a “parsare” tali informazioni.

ShoutCast, però, genera delle pagine accessorie da cui recuperare le info che ci servono. Per esempio, per la web radio http://www.kissradio.info si riescono a recuperare le info su artista e brano in riproduzione, nonché la cover, dalle seguenti URL:

  • http://www.kissradio.info/OnAir.txt
  • http://www.kissradio.info/OnAir.jpg

Ma facendo varie ricerche ho scoperto che ShoutCast inserisce le info anche in una pagina “nascosta” del server di streaming, la 7.html. Per esempio, per il servizio di streaming http://kemoniastreaming2.com:8018, le info della traccia in riproduzione le troviamo qui: http://kemoniastreaming2.com:8018/7.html

Basterà, dunque, “parsare” queste info nella nostra app e visualizzarle mentre il brano viene riprodotto. Sarà ovviamente necessario un refresh delle info secondo un tempo prefissato, magari utilizzando un timer (NSTimer).

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


5 + = otto