我试图检测"音量"设备上的按钮并运行方法。
下一个代码可以很好地检测音量级别的变化,但是当我在最高级别时,选择器没有被调用(因为音量级别没有发生任何变化) )
AVAudioSession* audioSession = [AVAudioSession sharedInstance];
[audioSession setActive:YES error:nil];
[audioSession addObserver:self
forKeyPath:@"outputVolume"
options:0
context:nil];
我是否可以采取任何解决方法来检测" up volume"当设备具有最高音量水平时按钮?
由于
答案 0 :(得分:0)
当用户将音量更改为最高设置时,不要将其设置为最大值,而是将其设置为MAX - 少量。然后将始终调用回调,因为卷永远不会真正达到最大值。
答案 1 :(得分:0)
不是outputVolume
本身的值是0.0(最小)到1.0(最大)吗? Apple的AVAudioSession类参考确实说你的方式是监控是否发生了变化的方式,但是你无法检查outputVolume
的{{1}}属性的实际值需要知道音量是否达到最大值?