如何为 Xcode 项目添加音效?

rom*_*ito 3 resources xcode ios

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

#import <AudioToolbox/AudioToolbox.h>

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

}
Run Code Online (Sandbox Code Playgroud)

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

AudioServicesPlaySystemSound(_threeExplosionsID);
Run Code Online (Sandbox Code Playgroud)

Ree*_*edy 5

首先,这不是你应该如何调用你的 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];
Run Code Online (Sandbox Code Playgroud)

确保你对它有强引用,否则它可能会在内存中被删除

@property (strong,nonatomic) AVAudioPlayer *audioPlayer;
Run Code Online (Sandbox Code Playgroud)

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

-(IBAction)buttonPressed {
    [self threeBombExplosion];
}
Run Code Online (Sandbox Code Playgroud)

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

在此处输入图片说明

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