The bitrates are pretty high, mostly in the 96k - 256k range, which stream just fine on a PC using iTunes or Winamp or whatever. The Chumby shouldn't be any different given the same internet connection, right?
I posted the widget:
http://www.chumby.com/guide/widget/Coll … io%20Tuner
Its a tuner for college and community radio stations. I was recently playing around with Sirius Satellite Radio, and I liked the idea of having "channels" as opposed to a list of jukebox-style choices. So this is a radio tuner with pre-defined channels.
I maintain a database of college radio stations at http://goodradio.org, so this is v1 of the client I've been meaning to build for the Chumby for ages. Its why I originally bought the thing. Actually I built a jukebox previously (http://gizmoware.net/chumby) but because of earlier restrictions on widgets I couldn't make it available as a widget.
This definitely has its problems with streaming: as far as I can tell there's no way to determine whether a given Sound is playing/loading/timed-out in Flash, so I think its the best that can be done given the current framework, but by all means correct me if I'm wrong. Is there a Listener for the Sound object? Is there a way to tell if a Sound is buffering? Or to increase the buffer? Or whether the stream is timed out?
I posted the source code as I do for all my widgets at http://gizmoware.net/chumby
The part that streams the shoutcasts is in the playStation() function. Basically I'm using the following code:
station_url = "http://goodradio.org/stream/" + station_name // for example station_name might be "wfmu"
_level0.soundobject = new Sound(this);
_level0.soundobject.loadSound(station_url, true);
Using my goodradio.org interface, you can stream a station (for example wfmu) in a webbrowser like this: goodradio.org/wfmu. To play it from a Chumby widget that expects a stream (cbreeze, I've been meaning to mention this for use in your Streams widget), you'd use goodradio.org/stream/wfmu.
One way I was thinking the Chumby admins might improve the usefulness of Chumby widgets is by giving us widget developers more ASNative calls. For example the BTPlay program on the Chumby does a much better job of streaming sounds than the widget/Flash interface as far as I can tell. Why not give widgets access to BTPlay via ASNative calls and callbacks, which would protect the security of the Chumby user while still greatly improving the functionality of the Chumby? Additional ASNative calls could be made available for harmless system programs like ping, tracert, ifconfig... I mean honestly, can you think of a single malicious use for any of those programs? Personally I think if Chumbies continue to rely on the Flash security model they can't possibly keep up with iPhones and gPhones and whatever comes next. But what do I know, I still do silly things like spend a whole day building a widget for a Chumby.
Anyway, I'm curious to hear other people's reports on how reliable this widget is for them. Remember you can always test whether a stream is up with goodradio.org/[stream_name]. For example goodradio.org/kdvs.