Single App License $149.99

1 application Binary restricted distribution Commercial use allowed Can modify source 6 months support Read full license

Multiple App License $599.99

5 applications Binary restricted distribution Commercial use allowed Can modify source 6 months support Read full license

Developer License $799.99

Unlimited projects Source and binary distribution Commercial use allowed Distribute modifications 6 months support Read full license

You need to log-in or create an account
  • Create an account
  • Log-in
  • Please use your real name.
  • Account activation link will be sent to this address.
  • Minimum 8 characters

Clicking this button confirms you read and agreed to the terms of use and privacy policy.

Starting from $ 149.99

View Pricing 14 days money-back guarantee
(26 ratings)

RadioTunes SDK for iOS

A radio streaming engine for iOS with support for the http and mms protocols. RadioTunes SDK can play mp3, aac, aac+ and wma audio streams. Includes documented source code of a demo XCode project demonstrating usage.

Description

RadioTunes Codec Support

A Powerful Radio Streaming Framework for iOS Software Developers!

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.

You can try the demo before purchasing a license!

Back to top

Features

  • Support for the http and mms protocols.
  • Supports mp3, aac, aac+ and wma audio streams.
  • PLS, M3U, XSPF and direct URL support.
  • Parsing of Shoutcast/Icecast metadata.
  • Automatic handling of interruptions like incoming phone calls.
  • Background play on iOS 4.
  • Robust error handling.
  • Auto reconnect feature.
  • Works on Edge/3G/WiFi.
  • Includes documented source-code for a demo radio app Xcode project demonstrating the common usage of the SDK's features.
Back to top

Requirements

The following system frameworks are required by the RadioTunes SDK:

  • SystemConfiguration
  • AudioToolbox
  • libz
  • libbz2
  • libxml2

If you want mms and wma audio streaming functionality in your app you'll also need to add these frameworks:

  • libavcodec
  • libavformat
  • libavutil

RadioTunes SDK requires a Base SDK setting of iOS 4.0

Back to top

How To Use

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.");
        }
    }
}
Back to top

Package

  • Complete source code of the RadioTunes SDK.
  • Detailed documentation with integration instructions.
  • Demo Xcode project.
  • Fully automated build scripts for FFmpeg that will build universal static libraries for the armv6, armv7 and i386 architectures.
  • Pre-built FFmpeg universal static libraries with support for the mms protocol and wma audio codec.-
Read all 144 comments »

Questions & Comments

  • Andrea said:

    2 weeks ago
    Hi,
    please could you try this? http://89.238.166.245:9014
    Thank you in advance.
  • Li yan said:

    4 weeks ago
    Hi,
    I'd like to know can this SDK work with Xcode 4.3.1?
    And can you open mms://media.vos.com.cn/996 ?
    • Kemal Taskin Author said:

      4 weeks ago
      Hi Li yan,

      This SDK is compatible with Xcode 4.3.1. I also tested your radio stream and it works fine.
  • Marat Al said:

    1 month ago
    Hi! I have 2 questions.
    1. Do you give a "try" period of this framework? It's very uncomfortable to ask here something like "check this url, if it is Ok I'll buy". I have several tens of different types of url and how will I check all of them? I even don't know them all at the current stage of my project. Basically they all from iTunes radio stations collection.
    2. Is there the "volume" property? This property especially cutten from iOS version of AVPlayer object and this is the real reason why I'm seeking a replacement. Thanks.
    • Kemal Taskin Author said:

      1 month ago
      Hi Marat Al,

      1) All components on Binpress have 14 days money-back guarantee. If RadioTunes SDK doesn't solve your needs you can ask for a refund.
      2) RadioTunes SDK allows you to change the volume in comparison to the current master volume.

Leave a comment

You must be logged-in to leave a comment.
Log-in now or register for a free account.
You must be logged-in to vote. Log-in to your account or register now.
View all 21 reviews »

User Reviews

    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
    Flag review
    Was this helpful? Yes No
    It is a great component with great support and it is certainly great value for money.
    - Antonios Voulgarelis, 7 days ago
    Flag review
    Was this helpful? Yes No
    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
    Flag review
    Was this helpful? Yes No

Starting from $ 149.99

View Pricing 14 days money-back guarantee