如何为Xcode项目添加声音效果?

时间:2015-12-21 18:32:55

标签: ios xcode resources

这是我现在的代码。 我按下按钮时试图添加声音效果。

#import <AudioToolbox/AudioToolbox.h>

- (void)threeBombExplosion
{
    NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"3Explosions" ofType:@"mp3"];
    NSURL *threeExplosionsURL = [NSURL fileURLWithPath:soundPath];
    AudioServicesCreateSystemSoundID(CFBridgingRetain(threeExplosionsURL),&_threeExplosionsID);

}

我在我希望它执行的函数(UIButton Action)上调用它。

AudioServicesPlaySystemSound(_threeExplosionsID);

1 个答案:

答案 0 :(得分:4)

首先,那不是你应该如何调用你的mp3文件,你应该使用av音频播放器对象。

NSString *path = [[NSBundle mainBundle] pathForResource:@"3Explosions" ofType:@"mp3"];
NSURL *soundUrl = [NSURL fileURLWithPath:path];
// Create audio player object and initialize with URL to sound
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:nil];

确保您有强烈的引用,否则它可能会在内存中删除

@property (strong,nonatomic) AVAudioPlayer *audioPlayer;

我会检查按下按钮时是否正在调用该方法。 如果你有一个touchupinside动作,那么你的方法将是:

-(IBAction)buttonPressed {
    [self threeBombExplosion];
}

如果这不起作用,您应该检查资源是否已添加到您的项目中,在Xcode中您需要确保已添加它。

enter image description here

在我的项目中,我创建了一个名为resources的子文件夹,然后又创建了一个名为sounds的子文件夹,并将其整齐地放在那里。