下面的代码是来播放一段声音。当用户点击了返回按钮时,就会影响键盘点击声音变小。怎么消除对系统声音的影响?
- (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];
}
可以在播放声音前将系统声音的音量存储下来,在返回按钮点击后把系统声音的音量还原回来。可以使用 AVAudioSession 类来控制系统声音。
在播放声音前添加以下代码:
AVAudioSession *session = [AVAudioSession sharedInstance];
self.originalVolume = session.outputVolume;
在返回按钮点击后添加以下代码:
AVAudioSession *session = [AVAudioSession sharedInstance];
session.outputVolume = self.originalVolume;
这样就能消除对系统声音的影响。