Is there a notification that I can listen to that will tell me when an iPhone's volume is turned up?
I know about the AVSystemController_SystemVolumeDidChangeNotification
, but it is essential that the notification only be triggered when the volume has been turned up, not up or down.
Secondly, how can I hide the translucent view that appears when the volume up button is pressed, showing the system's volume? Camera+ has implemented this.
If you want an event you can register a listener on the "outputVolume" property:
- (void)viewWillAppear:(BOOL)animated {
AVAudioSession* audioSession = [AVAudioSession sharedInstance];
[audioSession setActive:YES error:nil];
[audioSession addObserver:self
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!");
}
}