我有代码可以在应用程序在前台运行时检测到音量变化。但我想检测背景中的音量变化以及屏幕何时关闭。
AVAudioSession* audioSession = [AVAudioSession sharedInstance];
[audioSession setActive:YES error:nil]; // Start Audio Session
[audioSession addObserver:self //observer for the audio session
forKeyPath:@"outputVolume"
options:0
context:nil];
}
-(void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if ([keyPath isEqual:@"outputVolume"]) {
NSLog(@"volume changed!");
}
}
当app在前台时按下音量时,这是我的日志输出。
2015-06-23 08:54:44.523 MayDay[469:71914] volume changed!