How to Play a Short Sound in iPhone Code

Today I am going to turn my iPhone into a Ray Gun by having it play a short laser sound. You probably have seen the many gun, laser and farting apps available on the Apple App Store. Most of these apps simply play a short sound along with some fancy graphics.

Here is how you can play a short sound:

Create a View Based iPhone Application

First, create a view based iPhone application in XCode and add a button to your view that will play the sound. If you need a refresher on how to use Interface Builder to hook up controls check out my article on adding a slider control.

Add the Audio Toolbox framework

Drag in the Audio Toolbox framework into your frameworks group in XCode. Here is a video on how to quickly add frameworks in XCode if you need it: Quick Tip: Adding Frameworks Painlessly in XCode. Remember that the framework will be all one word with the .framework extension, AudioToolbox.framework.

Add a short wav file to your project

I used the website Joe’s Original Wave Files for this demo and found a nice laser sound to use. You can also buy the rights to use sounds in apps that you want to sell from websites like iStockPhoto.

Use Audio Services to play the sound

To keep things simple I put all the code that you need to play the sound in an IBAction called “shoot”.

-(IBAction)shoot{
	//Get the filename of the sound file:
	NSString *path = [NSString stringWithFormat:@"%@%@", [[NSBundle mainBundle] resourcePath], @"/jad0007a.wav"];

	//declare a system sound
	id SystemSoundID soundID;

	//Get a URL for the sound file
	NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];

	//Use audio sevices to create the sound
	AudioServicesCreateSystemSoundID((CFURLRef)filePath, &soundID);
	//Use audio services to play the sound
	AudioServicesPlaySystemSound(soundID);
}

That is it – pretty simple way to add some cool effects to your app.

9 Responses to How to Play a Short Sound in iPhone Code

  1. iPhoneKicks.com August 18, 2009 at 5:18 pm #

    How to Play a Short Sound in iPhone Code…

    You’ve been kicked (a good thing) – Trackback from iPhoneKicks.com – iPhone SDK links, community driven…

  2. How to Play a Short Sound in i August 19, 2009 at 12:46 am #

    [...] more here: How to Play a Short Sound in iPhone Code Share and [...]

  3. lrniphone August 21, 2009 at 4:41 pm #

    This is awesome, exactly what I trying to learn. However I’m so new at this. The video starts with some code already inputed, I tried reading the other articles in hopes to figure out how to start, but getting confused. Can you help and post the whole code. I would really appreciate it.

  4. mattjdrake August 21, 2009 at 5:05 pm #

    Sure thing – I just emailed you the code (the email you used to register for the comment).

  5. lrniphone August 21, 2009 at 6:32 pm #

    Great site and look forward to learning more.

  6. techreviewcast August 29, 2009 at 1:12 am #

    Hey, great tutorial. Very well done! Do you think you can send me the code so I can further understand it? That would be very helpful. Thanks again!

  7. iPhone SDK Tutorial: Play a sh September 27, 2009 at 2:54 pm #

    [...] iPhone SDK Tutorial: Play a short sound in iphone sdk From matt drake blog: play a short sound in iphone sdk [...]

  8. high_festiva July 5, 2011 at 1:51 pm #

    Thanks! Worked like a charm!

  9. Nathan July 13, 2011 at 3:48 pm #

    Excellent tutorial. The best way I've seen for a beginner like me to understand how the audio tools work.

Leave a Reply

Switch to our mobile site