0
我有界面元素,显示我的应用程序当前的系统卷。在体积变化时用户在应用程序,我可以监视和使用其设置以下:系统设备输出量不正确
[RACObserve([AVAudioSession sharedInstance], outputVolume) subscribeNext:^(NSNumber* x) {
self.knobControl.position = -([x floatValue] * 4.65) + 1e-7;
}];
然而,当我的应用程序成为非活动状态,然后再次成为活性我试图用以下逻辑该元件设置为当前活动的系统体积(即变化,而应用程序在背景中):
/* Notifications */
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(didBecomeActive)
name:UIApplicationDidBecomeActiveNotification object:nil];
-(void)didBecomeActive{
/* Call it to set correct value after application become active from background */
CGFloat outputVol = [[AVAudioSession sharedInstance] outputVolume];
self.knobControl.position = -(outputVol * 4.65) + 1e-7;
}
然而,当我在应用程序中设置音量到最大,然后按主页按钮,则设置系统容积,例如,到最大的2/16,然后当我输入应用程序[[AVAudioSession sharedInstance] outputVolume]仍然告诉我,音量设置为最大(旧值)。
如何解决这个问题?