RadioTunes SDK

RadioTunes SDK

Released 4 years ago , Last update 2 months ago

An audio streaming and recording SDK for iOS with support for the http and mms protocols. Plays mp3, aac, aac+ and wma audio streams. Includes documented Objective-C code of a demo XCode project, demonstrating usage.

A Powerful Audio Streaming Framework for building iOS radio stations!

RadioTunes SDK is written for iOS developers who want to add audio streaming / recording 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.

Download the FREE Trial now and see how simple it is to add audio playback functionality to your app.

4.8
  • 5 42
  • 4 7
  • 3 1
  • 2 0
  • 1 0
50 Reviews Read Reviews

Pricing

14-day money-back guarantee

$349.99

Single App Binary

  • Perpetual license

  • 1 application

  • Can distribute binary products only

  • Commercial use

  • 1 month support

$2,499.99

Developer

  • Perpetual license

  • Unlimited projects

  • Can distribute code and binary products

  • Commercial use

  • 12 months support

$3,999.99

Enterprise - unlocked

  • Perpetual license

  • Unlimited projects

  • Can distribute code and binary products

  • Commercial use

  • 12 months support

Need custom services for this product? Get a quote

Features & Package

Features

  • NEW FEATURE IN VERSION 2.1!
    • ASX playlist support.
  • NEW FEATURES IN VERSION 2.0!
    • Realtime audio recording.
    • Improved audio session management.
    • Bandwidth usage statistics.
  • Support for the http and mms protocols.
  • Supports mp3, aac, aac+ and wma audio streams.
  • PLS, M3U, ASX, XSPF and direct URL support.
  • Parsing of Shoutcast/Icecast metadata.
  • Automatic handling of interruptions like incoming phone calls.
  • Background playback.
  • Robust error handling.
  • Auto reconnect feature.
  • Works on Edge/3G/WiFi.

Package

  • Complete Objective-C source code of RadioTunes SDK.
  • Detailed documentation with integration instructions.
  • Demo Xcode project.
  • Fully automated FFmpeg build scripts that will build universal static libraries for the armv7, armv7s, arm64, x86_64 and i386 architectures.
  • Pre-built FFmpeg universal static libraries with support for the mms protocol and wma audio codec.

Documentation

Code Documentation

All public classes of RadioTunes SDK are documented using appledoc. See the documentation for further information.

Requirements

The source code of RadioTunes SDK is developed on Xcode 5.1 with iOS Base SDK 7.1. RadioTunes SDK works on a deployment target of iOS 6 or greater on armv7, armv7s, arm64 and can be used in ARC and non-ARC projects.

Integration

RadioTunes SDK can be integrated in two ways into your app.

1. Add the binary RadioTunes.framework

  • Drag RadioTunes.framework into the "Frameworks" group of your Xcode project.
  • Add the required libraries as shown in the screenshot below. You can add the FFmpeg libraries (libavcodec.a, libavformat.a, libavutil.a and libswresample.a) by dragging them from the "External/ffmpeg/lib" directory into your "Frameworks" group.
  • Open the Build Settings tab and apply the following changes:
    • Other Linker Flags -> -all_load -ObjC -lxml2
  • Add the "Required background modes" key to your project's plist file and set it's value to "App plays audio".
  • Add the following import statement everywhere you want to use RadioTunes SDK: #import <RadioTunes/RadioTunes.h> Binary

2. Add RadioTunes.xcodeproj as a dependency

  • Copy the whole RadioTunes folder into your project's root folder.
  • Drag RadioTunes.xcodeproj into the "Frameworks" group of your Xcode project.
  • Add RadioTunes as a target dependency.
  • Add the required libraries as shown in the screenshot below.
  • Open the Build Settings tab and apply the following changes:
    • Other Linker Flags -> -all_load -ObjC -lxml2
    • Add the following paths to "Header Search Paths":
      • $(SRCROOT)/RadioTunes/External/ffmpeg/include"
      • $(SRCROOT)/RadioTunes/RadioTunes"
    • Add the following path to "Library Search Paths":
      • **$(SRCROOT)/RadioTunes/External/ffmpeg/lib"
  • If your project uses ARC, open the Compile Sources section in the Build Phases tab. Add the -fno-objc-arc compiler flag to all .m source files belonging to RadioTunes SDK!
  • Add the "Required background modes" key to your project's plist file and set it's value to "App plays audio".
  • Add the following import statement everywhere you want to use RadioTunes SDK: #import "RadioTunes.h" Source

Sample Usage

YLHTTPRadio *radio = [[YLHTTPRadio alloc] initWithURL:[NSURL URLWithString:@"http://someurl"]];
[radio play];

YLMMSRadio *radio = [[YLMMSRadio alloc] initWithURL:[NSURL URLWithString:@"mms://someurl"]];
[radio play];
[radio startRecordingWithDestination:filePath];    

F.A.Q

I am developing an application for a customer. Which license should I use? The single app license cannot be used for building applications for your customer since the license cannot be sub-licensed nor transferred to your customer. In that case you will either have to purchase a developer license or have your customer purchase a single app license which you can then use to develop the application. However purchasing the Developer license will be a valuable investment which will pay off if you'll use it in more than one client project.

What's the difference between the Developer and Enterprise license? Both the Developer and Enterprise license allow usage in unlimited number of apps. The only difference is that the Enterprise license doesn't require license key activation. This is especially useful if you offer a product that generates custom iOS apps on demand.

Is it possible to upgrade between different licenses? An upgrade is possible. Contact us for more information or browse to the "My Purchases" section to upgrade your license.

My license is expired. What does this mean? Each of our licenses include 1 year free updates. If you want to keep receiving new updates and support you can do so by paying a renewal fee which is about 25% of the current license price. If you don't renew your license you can still keep using the version you have on hand. It will keep working without any restrictions.

4 licenses, starting from From » $349.99 View Licenses

Get A Quote

What do you need?
  • Custom development
  • Integration
  • Customization / Reskinning
  • Consultation
When do you need it?
  • Soon
  • Next week
  • Next month
  • Anytime

Thanks for getting in touch!

Your quote details have been received and we'll get back to you soon.

or Get a quote

for customization or integration services


Or enter your name and Email
  • M mkapps License holder Single App Binary
    1 month support
    Purchased on Mar 12, 2015
    1 month ago
    Plans to purchase a 'single app binary'. The three applications are within a project. Through the scheme What should I do in this case? Please inform us in detail.
    • Kemal Taskin Publisher 1 month ago
      Hi, There's a FAQ on the description page that should give you an idea which license you should purchase. The three apps will have different app bundle-id's so you should purchase three licenses in this case.
  • M mkapps 1 month ago
    What is the difference 'single app binary' and 'single app' ?
  • M mkapps License holder Single App Binary
    1 month support
    Purchased on Mar 12, 2015
    1 month ago
    What is the difference 'single app binary' and 'single app'
    • Kemal Taskin Publisher 1 month ago
      The only difference is that the "Single App" license comes with the complete source code while the "Single App Binary" license comes only with a precompiled binary framework.