RadioTunes SDK for iOS

RadioTunes SDK for iOS

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.

A professional look for your app

Be sure to check out the Radiojive Template if you want a great looking design for your radio app. This template also includes a fully working radio app that uses the RadioTunes SDK!

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

Hide

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 and i386 architectures.
  • Pre-built FFmpeg universal static libraries with support for the mms protocol and wma audio codec.
Hide

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.0 with iOS Base SDK 7.0. RadioTunes SDK works on a deployment target of iOS 5 or greater on armv7 and armv7s 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];    
You need to log-in or create an account
  • Create an account
  • Log-in

Please use your real name.

Activation link will be sent to this address.

Minimum 8 characters

Enter your password again

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

X

Save your watchlist

Fill your details below to receive project updates from your watch list - including new versions, price changes and discounts.

I agree to the terms of use and privacy policy.

4 licenses, starting from From » $199.99 View Licenses 14 day money-back guarantee
  • Awesome component, and even more awesome support. The developer is well experienced and had a respectable answer on every issue/question I encountered within the boundaries on the component and beyond. Two thumbs up!! keep up the great work.
    A arrows
    8 months ago, 0 comments
    Was this helpful?
    Flag 2 of 2 people found this review helpful
  • Great SDK, looks good, workes awesome !
    PR Patrick Rørth
    1 year ago, 1 comments
    Was this helpful?
    Flag 2 of 2 people found this review helpful
  • Nice SDK for mms! Very easy to use.
    S superkam
    2 years ago, 0 comments
    Was this helpful?
    Flag 2 of 2 people found this review helpful
Post a comment

Or enter your name and Email
  • JT John Tan License holder Single App Binary License 1 month ago
    Hi, why are the recorded .m4a files not playable on iTunes or within the iOS Mail app as attachments? I'm only able to play them on VLC. This isn't useful for the average user.
    • Kemal Taskin Developer 1 month ago
      Hi John, This is not the case for all m4a files. Only m4a files encoded with AAC+ codec are not playable with iTunes. I guess iTunes doesn't support playback of this codec since VLC just plays them fine and in iOS you can play them back using the AVPlayer class.
    • JT John Tan License holder Single App Binary License 1 month ago
      If you can update the SDK to encode with a different codec it will be awesome. From the user's perspective they would expect to be able to retrieve the files from iTunes File Sharing and be able to play it with iTunes. It would also be great if the app can share recordings via email as attachments, and recipients can simply play them back in the Mail app.
    • Kemal Taskin Developer 1 month ago
      When recording audio streams RadioTunes SDK will behave differently based on the stream type: - If it's a mms audio stream, it will encode the recording in AAC. - If it's a http audio stream, it will save the stream in it's original encoding: mp3, aac or aac+. Sharing recordings via email attachments is not something that belongs to the core of RadioTunes SDK. This type of functionality should be implemented in the app code.
    • JT John Tan License holder Single App Binary License 1 month ago
      Okay, thanks for the info on audio formats. I'm not asking for email sharing functionality, I'm saying if the audio format plays in mail it'll be great. Email sharing is trivial to implement.
    • Kemal Taskin Developer 1 month ago
      Did you test the other audio formats in the mail app?
    • JT John Tan License holder Single App Binary License 1 month ago
      Nope, since every stream I'm using is in aac+.
  • JZ Janet Zhou License holderSingle App License 2 months ago
    I have a question,can the SDK support the Apple Living Streaming (HLS). Like the url: http://s.bj.qingting.fm/10.6.3.119/live/386/24.m3u8 and http://42.96.248.161/10.129.53.141/live/332/24.m3u8
    • Kemal Taskin Developer 2 months ago
      Hi Janet, RadioTunes does not support m3u8 playlists. As you may know there's already the AVPlayer class in the iOS SDK which is capable of playing m3u8 playlists.
  • M Mohit 2 months ago
    We need to upload the recording from iOS application to RTMP server and also have to stream those recording to play them. Is there any way to do this by this SDK. Please suggest us.
    • Kemal Taskin Developer 2 months ago
      Hi Mohit, RadioTunes SDK can record audio streams while they are played but you'll have to write the code to upload the recorded files to the RTMP server. If the RTMP server can stream the files in a format that's supported by RadioTunes SDK over http, there will be no problems with playing them.