Question

I've been looking for a while how to play sound on the iphone, and I think it's something along the lines of:

[[NSSound soundNamed:@"cat.mp3"] play];

But the NSSound is on the AppKit ... any suggestions ? I know there is a really simple answer to this, but today my searches are not rendering any result ...

Was it helpful?

Solution

the new AVFoundation class is the easiest way to play sound on the iPhone, though it is for firmware 2.2 only:

AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];  
[audioPlayer play]; 

you just need this import in the class that uses it:

#import <AVFoundation/AVAudioPlayer.h>

OTHER TIPS

Audio Toolbox system sounds are great for short async playback.

// Initialize
CFBundleRef mainBundle;
mainBundle = CFBundleGetMainBundle ();

// Init each sound
CFURLRef      tapURL;
SystemSoundID tapSound;
tapURL = CFBundleCopyResourceURL(mainBundle, CFSTR("tap"), CFSTR("aif"), NULL);
AudioServicesCreateSystemSoundID(tapURL, &tapSound);

// Play the sound async
AudioServicesPlaySystemSound(tapSound);

I haven't gotten MP3s to work with AudioServicesPlaySystemSound. But it plays AIF files perfectly.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top