1 application Binary restricted distribution Commercial use allowed Can modify source 6 months support Read full license
5 applications Binary restricted distribution Commercial use allowed Can modify source 6 months support Read full license
Unlimited projects Source and binary distribution Commercial use allowed Distribute modifications 6 months support Read full license
Starting from $ 149.99

RadioTunes SDK is written for iOS developers who want to add radio streaming functionality to their app using a couple lines of code. Behind the scenes RadioTunes relies on the iOS AudioQueue framework and the open source LGPL licensed FFmpeg library.
If your app does not require mms/wma codec functionality you can also use the RadioTunes SDK without including the FFmpeg library. The code for mms streaming is completely separated from the code for http streaming so that you can choose which portions of code you want to include in your project.
Disclaimer: RadioTunes SDK can play all Window Media Audio version 9 streams but some streams based on version 10 could fail.
1. Create a HTTPRadio or MMSRadio object.
HTTPRadio *httpRadio = [[HTTPRadio alloc] initWithURL:[NSURL URLWithString:@"http://dir.xiph.org/listen/1725276/listen.m3u"]];
[httpRadio setDelegate:self];
[httpRadio play];
MMSRadio *mmsRadio = [[MMSRadio alloc] initWithURL:[NSURL URLWithString:@"mms://84.16.235.90/ShowRadyo"]];
[mmsRadio setDelegate:self];
[mmsRadio play];
2. Implement the optional delegate methods.
- (void)radioMetadataReady:(Radio *)radio {
NSString *radioName = [radio radioName];
NSString *radioGenre = [radio radioGenre];
NSString *radioUrl = [radio radioUrl];
}
- (void)radioTitleChanged:(Radio *)radio {
NSLog(@"Now Playing: %@", [radio radioTitle]);
}
- (void)radioStateChanged:(Radio *)radio {
RadioState state = [radio radioState];
if(state == kRadioStateConnecting) {
NSLog(@"Status: Connecting");
} else if(state == kRadioStateBuffering) {
NSLog(@"Status: Buffering");
} else if(state == kRadioStatePlaying) {
NSLog(@"Status: Playing");
} else if(state == kRadioStateStopped) {
NSLog(@"Status: Stopped");
} else if(state == kRadioStateError) {
NSLog(@"Status: Error"];
RadioError error = [_radio radioError];
if(error == kRadioErrorAudioQueueBufferCreate) {
NSLog(@"Audio buffers could not be created.");
} else if(error == kRadioErrorAudioQueueCreate) {
NSLog(@"Audio queue could not be created.");
} else if(error == kRadioErrorAudioQueueEnqueue) {
NSLog(@"Audio queue enqueue failed.");
} else if(error == kRadioErrorAudioQueueStart) {
NSLog(@"Audio queue could not be started.");
} else if(error == kRadioErrorFileStreamGetProperty) {
NSLog(@"File stream get property failed.");
} else if(error == kRadioErrorFileStreamOpen) {
NSLog(@"File stream could not be opened.");
} else if(error == kRadioErrorPlaylistParsing) {
NSLog(@"Playlist could not be parsed.");
} else if(error == kRadioErrorNetworkError) {
NSLog(@"Network connection error.");
}
}
}
The component plays a lot of formats, including the format I need is mms, there is only one problem that was not reported in the product description, including major problem in my view, because this component does not play mms streaming generated by server windows server 2008 R2 Windows Media 10, I believe it will be satisfactory to me, because our servers have exactly the service that the component does not meet.- Marcos Alarcon, 3 days ago
It is a great component with great support and it is certainly great value for money.- Antonios Voulgarelis, 7 days ago
I liked how RadioTunes SDK works though it was hard to find on the Internet. Especially there was a helpful demo project, which helped me to understand the complexity of iOS audio streaming. Though I coded iPhone for the first time in my life, I succeeded to implement RadioTunes and feel thankful for it's authors and for very quick and super effective BinPress support.- Jonas, 1 month ago
Starting from $ 149.99
Questions & Comments
2 weeks ago
2 weeks ago
4 weeks ago
4 weeks ago
1 month ago
1 month ago
Leave a comment
Log-in now or register for a free account.