Re: Android Java source for icecast streaming
Luca Cireddu <[email protected]>
| Newsgroups | gmane.comp.audio.icecast.devel |
|---|---|
| Message-ID | <CAEyj+2ybVAA0OLvEDx1MnmyAncv5XhAzMEwm1RAwH3eoNfThaw@mail.gmail.com> |
Hi jSelbie, try to have a look to https://code.google.com/p/unicaradio-apps/. Our developer created an app that obtain metadata by splitting icecast stream and rebuilding it without metadata. 2014-06-20 6:59 GMT+02:00 John Selbie <[email protected]>: > Greetings, > > tl;dr - I'm looking for sources to an Android Icecast client written in > Java. > > long summary: > > I maintain an open source Android app (WREK Online) that plays the live > mp3 stream from the station's Icecast server. > > Using the built in MediaPlayer class that is part of the Android SDK works > OK. As a developer, I just give it the streaming URL of the Icecast server, > hook up a few callbacks, and it plays just fine. But this class has its > limitations and a few bugs. > > The biggest limitation of Android's MediaPlayer class is that it can't > pull down the metadata from the Icecast server. It doesn't pass allow an > option for the developer to pass up an Ice-MetaData header for the > specified URL. And even if you could, it likely wouldn't be able to parse > out the inline metadata within the returned HTTP byte stream (as indicated > by the presence of an icy-metaint header). > > So therefore, my app can't show the current artist and song title on the > screen very easily. An alternative option is to continuously make an http > polling request for the "status.xsl" page on the server and parse this > information out. But polling isn't an ideal solution. > > I am considering going full on an writing my own replacement for > MediaPlayer. This would mean handling my own HTTP streaming, my own MP3 > frame parser, additional code to extract out the metadata from the stream > bytes, calling into Android's MediaCodec APIs to convert to PCM, and > ultimately into an AudioTrack instance. All of which I am comfortable > doing. However, this will likely take me a better part of a week to get > working with lots of testing and bug fixing. > > Is there an open-source solution I could potentially leverage? I know > there are few Linux projects written in C/C++ that have been ported to the > Android NDK, but I'd prefer an Android Java solution. I've Google'd > around, but couldn't find anything definitive. > > Suggestions? > > Thanks, > jSelbie > > > > > _______________________________________________ > Icecast-dev mailing list > [email protected] > http://lists.xiph.org/mailman/listinfo/icecast-dev > > -- Luca Cireddu [email protected] http://www.lucacireddu.it _______________________________________________ Icecast-dev mailing list [email protected] http://lists.xiph.org/mailman/listinfo/icecast-dev