I currently have 3 ways to play audio within my app:
-
Using AudioServicesPlaySystemSound for vibration and simple
sounds -
Using Audio Toolbox for bundled files (3rd party class)
-
Using AudioServices with AudioFX
What I’m currently investigating is, if I can play other kinds of audio that are already present on the iPhone. I would like to reduce my app’s download size, as well as offer more flexibility in terms of the kind of sound that the user can play.
Can I play from within my app:
- Audio recordings from the Voice Memos app, or do I have to
- create my own recordings? Items from an iPod playlist or Music app?
- Items from youtube by pre-loading them, or will I have to stream them every time?
- Existing ringtone for the phone?
I am a complete beginner when it comes down to playing audio on an iPhone and am already using two 3rd party classes for audio tasks.
Is there an easy way to accomplish some of the tasks listed above?
You can download sound files on first start (not in your didFinishLaunchingWithOptions method or your app will likely be killed) and save them locally, then you can just play them when needed. You can play files in their iTunes library, but won’t know what they have in the library.
To play from their library, this is a handy example:
http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-music-library-access/
You can also record user input from your app with AVAudioRecorder, save that and then play it whenever.