获取有关ios中音量按钮按下事件的通知

时间:2016-10-25 04:07:37

标签: ios objective-c

当我按下音量按钮三次时,需要显示通知。我想在我的应用程序中集成此功能。

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

首先,初始化AVAudioSession并通过以下方式添加一个监听器:

AVAudioSession* audioSession = [AVAudioSession sharedInstance];
[audioSession setActive:YES error:nil];
[audioSession addObserver:self
                   forKeyPath:@"outputVolume"
                      options:0
                      context:nil];

然后通过以下方式存储当前系统卷:

float currentVolume = [audioSession outputVolume];

然后观察音量变化通知:

-(void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
    if ([keyPath isEqual:@"outputVolume"]) {
        float newVolume = [[AVAudioSession sharedInstance] outputVolume];
    }
}

您比较newVolume和currentVolume以确定预期结果。