准备工作:

找到需要的声音(不要大于30秒),如果是mp3格式,则直接将其后缀名改为.wav;

将声音文件添加到系统中。

第一步:导入  AudioToolbox.framework  文件

第二步:在需要声音的类的.h文件中添加     #import <AudioToolbox/AudioToolbox.h>

同时,声明如下语句

static SystemSoundID shake_sound_male_id = 0;

第三步:编码,如下:

-(void) playSound

{
    NSString *path = [[NSBundle mainBundle] pathForResource:@"shake_sound_male" ofType:@"wav"];
    if (path) {
        //注册声音到系统
        AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path],&shake_sound_male_id);
        AudioServicesPlaySystemSound(shake_sound_male_id);
//        AudioServicesPlaySystemSound(shake_sound_male_id);//如果无法再下面播放,可以尝试在此播放
    }
    
    AudioServicesPlaySystemSound(shake_sound_male_id);   //播放注册的声音,(此句代码,可以在本类中的任意位置调用,不限于本方法中)
    
//    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);   //让手机震动
}

参考:http://li-bonan.blog.163.com/blog/static/1355647702012811451434/

http://www.cnblogs.com/martin1009/archive/2012/06/14/2549473.html   (介绍如何播放30秒以上的文件)