Objective c 播放AVAudioPlayer和SystemSoundID

Objective c 播放AVAudioPlayer和SystemSoundID,objective-c,Objective C,我正在用Sprit Kit构建一个游戏,我正在使用didMoveToView方法中的AVAudioPlayer使用一个连续的声音循环。但我还使用了其他四种使用SystemSoundID的声音,它们是在didMoveToView方法之外创建的。问题是,当我玩游戏时,使用AVAudioPlayer播放的声音似乎淹没了我使用systemSound时的所有其他声音。我可以用AVAudio播放所有的声音,看起来效果不错,但它也会让我的游戏慢一点。只是想知道是否有一个替代或修复这个?忘了提一下,这似乎只是一

我正在用Sprit Kit构建一个游戏,我正在使用didMoveToView方法中的AVAudioPlayer使用一个连续的声音循环。但我还使用了其他四种使用SystemSoundID的声音,它们是在didMoveToView方法之外创建的。问题是,当我玩游戏时,使用AVAudioPlayer播放的声音似乎淹没了我使用systemSound时的所有其他声音。我可以用AVAudio播放所有的声音,看起来效果不错,但它也会让我的游戏慢一点。只是想知道是否有一个替代或修复这个?忘了提一下,这似乎只是一个问题,当我插入耳机,但它的工作时,没有良好的发挥

这是我的密码:

- (void)didMoveToView:(SKView *)view


NSURL *playSound = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"jungleSound" ofType:@"wav"]];

NSError *error;

player = [[AVAudioPlayer alloc]initWithContentsOfURL:playSound error:&error];

[player play];

player.numberOfLoops = -1;  //Continuous play//
在方法之外

NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"Jump2" ofType:@"wav"];
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath: soundPath], &soundID);
AudioServicesPlaySystemSound(soundID);


NSString *soundPath2 = [[NSBundle mainBundle] pathForResource:@"squish" ofType:@"wav"];
SystemSoundID soundID2;
AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath: soundPath2], &soundID2);
AudioServicesPlaySystemSound(soundID2);


NSString *soundPath3 = [[NSBundle mainBundle] pathForResource:@"Powerup3" ofType:@"wav"];
SystemSoundID soundID3;
AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath: soundPath3], & soundID3);
AudioServicesPlaySystemSound(soundID3);

在振铃器和“设置”下的警报中增大音量解决了此问题