为跳跃添加声音效果

时间:2014-12-02 10:22:42

标签: ios objective-c audio

我想在我的角色跳跃时为跳跃动作添加声音效果。这听起来很简单,但我不能这样做,这是我迄今为止所尝试过的......

在我的角色的头文件中,我有:

SystemSoundID jump;
- (void)playSound:(NSString *)jump1 :(NSString *) mp3;

在我的实施文件中,我有:

- (void)playSound :(NSString *)jump1 :(NSString *) mp3{

    SystemSoundID audioEffect;

    NSString *path = [[NSBundle mainBundle] pathForResource : jump1 ofType :mp3];

    if ([[NSFileManager defaultManager] fileExistsAtPath : path]) {

        NSURL *pathURL = [NSURL fileURLWithPath: path];

        AudioServicesCreateSystemSoundID((__bridge CFURLRef) pathURL, &audioEffect);

        AudioServicesPlaySystemSound(audioEffect);
    }

    else {

        NSLog(@"error , file not found aye: %@", path);
    }
}

同样在函数跳转里面我有:

[self playSound:@"jump" :@"mp3"];

请原谅我的缺乏经验我只是去了它,因为它对我的游戏来说是一个很棒的功能,如果有人可以告诉我我做错了什么或者有更好的方法去做那个会很棒的工作谢谢!

1 个答案:

答案 0 :(得分:1)

在类中添加此方法,只要您想播放声音,只需使用[self playSound]调用此方法,jump.mp3应该在您的包中,并记住一件事,不要忘记添加AudioToolbox框架。

-(void) playSound {
NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"jump" ofType:@"mp3"];
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath: soundPath], &soundID);
AudioServicesPlaySystemSound (soundID);   
}