Radio is an open-source wrapper to play Icecast Internet radio stations on iOS.
This project is the streaming part of the Radio Javan app. The code here streams an Icecast stream (based on the URL), plays out the music to the audio device using Core Audio, and reads the metadata from the stream as the now playing title changes.
This code was initially written 5 years ago when the iOS SDK was first introduced. It's still used in production on a very popular app with hundreds of thousands of users.
Radio has been recently updated to support
- ARC
- 64-bit compiles
- iOS7 audio APIs
You can create an instance of Radio:
radio = [[Radio alloc] init];
Then connect to an Icecast stream:
[radio connect:@"http://stream.radiojavan.com" withDelegate:self withGain:(1.0)];
The example in RadioViewController shows how to use the Radio class and also use the delegate callbacks to update the view, handle interruptions, buffering, connection issues, etc
Latest iOS SDK (7.0+)
Radio is available under the MIT license. See the LICENSE file for more info.
Created by Hamed Hashemi