Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A powerful audio playback engine for Mac OS X and iOS

branch: master
Octocat-spinner-32 Decoders Set mSourceFormat.mBitsPerChannel February 08, 2014
Octocat-spinner-32 Input Removed unnecessary #include January 17, 2014
Octocat-spinner-32 Metadata Added Copy() and Remove() metadata methods February 14, 2014
Octocat-spinner-32 Player Merge pull request #42 from bsneed/master January 01, 2014
Octocat-spinner-32 SFBAudioEngine-iOS.xcodeproj Fixed CFWrapper for iOS compatibilty and updated SimplePlayer-iOS for… January 17, 2014
Octocat-spinner-32 SFBAudioEngine.xcodeproj Added ChannelLayout November 14, 2013
Octocat-spinner-32 SimplePlayer-iOS Fixed CFWrapper for iOS compatibilty and updated SimplePlayer-iOS for… January 17, 2014
Octocat-spinner-32 SimplePlayer Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 .gitignore Added .gitignore entry for Libraries/ since it’s a downloadable packa… December 31, 2013
Octocat-spinner-32 ACKNOWLEDGMENTS Added Ogg Opus information October 13, 2013
Octocat-spinner-32 AudioBufferList.cpp Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 AudioBufferList.h Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 AudioChannelLayout.cpp Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 AudioChannelLayout.h Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 AudioConverter.cpp Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 AudioConverter.h Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 CFErrorUtilities.cpp Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 CFErrorUtilities.h Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 CFWrapper.h Fixed CFWrapper for iOS compatibilty and updated SimplePlayer-iOS for… January 17, 2014
Octocat-spinner-32 COPYING Added 2014 to copyright January 01, 2014
Octocat-spinner-32 CreateDisplayNameForURL.cpp Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 CreateDisplayNameForURL.h Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 CreateStringForOSType.cpp Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 CreateStringForOSType.h Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 Doxyfile Removed static ABL utilities November 09, 2013
Octocat-spinner-32 Info.plist Added project files October 23, 2009
Octocat-spinner-32 Logger+NSOverloads.mm Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 Logger.cpp Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 Logger.h Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 README.md Updated November 07, 2013
Octocat-spinner-32 ReplayGainAnalyzer.cpp Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 ReplayGainAnalyzer.h Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 RingBuffer.cpp Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 RingBuffer.h Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 Semaphore.cpp Updated copyright for 2014 January 01, 2014
Octocat-spinner-32 Semaphore.h Updated copyright for 2014 January 01, 2014
README.md

About SFBAudioEngine

SFBAudioEngine is a set of C++ classes enabling Mac OS X and iOS applications to easily play audio. SFBAudioEngine supports the following formats:

  • WAVE
  • AIFF
  • Apple Lossless
  • AAC
  • FLAC
  • MP3
  • WavPack
  • Ogg Vorbis
  • Ogg Speex
  • Ogg Opus
  • Musepack (Mac OS X only)
  • Monkey's Audio (Mac OS X only)
  • True Audio (Mac OS X only)
  • All other formats supported natively by Core Audio

In addition to playback, SFBAudioEngine supports reading and writing of metadata for most supported formats.

SFBAudioEngine uses C++11 language and standard library features. For this reason clang must be used to compile SFBAudioEngine and its dependencies, and clang's libc++ must be used as the C++ standard library. Any application using SFBAudioEngine must also be compiled with clang and libc++.

Building SFBAudioEngine

  1. Get the source code: git clone https://github.com/sbooth/SFBAudioEngine.git
  2. Download the dependencies and unpack in the project's root: http://files.sbooth.org/SFBAudioEngine-dependencies.tar.bz2
  3. Open the project and build!

Using SFBAudioEngine

Playing an audio file is as simple as:

NSURL *u = [NSURL fileURLWithPath:@"example.flac" isDirectory:NO];
SFB::Audio::Player player;
player.PlayURL((__bridge CFURLRef)u);

Documentation

All public headers are documented using doxygen. If you have doxygen installed, you may create a local copy of the documentation by running doxygen in SFBAudioEngine's root. The HTML files will be saved in doc/html/.

The documentation is also available online.

Something went wrong with that request. Please try again.