AVAudioPlayer会影响系统声音

我使用这个代码来播放短暂的声音效果。 用户单击键盘的返回button时会发生这种情况,这会使键盘声音效果比平时更响。 是否可以在不影响系统声音的情况下播放特定音量的效果?

- (void)playCorrectAnswerSound { NSString *path = [[NSBundle mainBundle] pathForResource:@"correct" ofType:@"mp3"]; NSURL *urlPath = [NSURL fileURLWithPath:path]; self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:urlPath error:nil]; self.player.volume = 0.04; [self.player prepareToPlay]; [self.player play]; 

}

将您的应用程序的audio会话类别设置为AVAudioSessionCategoryAmbient是将以下代码添加到您的应用程序委托的applicationDidFinishLaunchingWithOptions:方法中:

  NSError *sessionError = nil; [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&sessionError]; [[AVAudioSession sharedInstance] setActive:YES error:&sessionError]; [[AVAudioSession sharedInstance] setDelegate:self]; 

从苹果的文档 :

此类别允许您的应用程序在播放audio时播放来自iPod,Safari和其他内置应用程序的audio。