检测" up"处于最高级别时设备上的音量按钮

时间:2014-05-07 23:54:39

标签: ios objective-c ios7

我试图检测"音量"设备上的按钮并运行方法。

下一个代码可以很好地检测音量级别的变化,但是当我在最高级别时,选择器没有被调用(因为音量级别没有发生任何变化) )

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

我是否可以采取任何解决方法来检测" up volume"当设备具有最高音量水平时按钮?

由于

2 个答案:

答案 0 :(得分:0)

当用户将音量更改为最高设置时,不要将其设置为最大值,而是将其设置为MAX - 少量。然后将始终调用回调,因为卷永远不会真正达到最大值。

答案 1 :(得分:0)

不是outputVolume本身的值是0.0(最小)到1.0(最大)吗? Apple的AVAudioSession类参考确实说你的方式是监控是否发生了变化的方式,但是你无法检查outputVolume的{​​{1}}属性的实际值需要知道音量是否达到最大值?