在ios中使用AVSystemController获得铃声音量级别

如何使用AVSystemController获得iphone的当前铃声音量级别

我也尝试下面的代码来检查音量级别

MPVolumeView *slide = [MPVolumeView new]; UISlider *volumeViewSlider; for (UIView *view in [slide subviews]){ if ([[[view class] description] isEqualToString:@"MPVolumeSlider"]) { volumeViewSlider = (UISlider *) view; } } float val = [volumeViewSlider value]; 

但是,当我打印/检查VAL,它返回1.00

我也试过下面的代码

 musicPlayer = [MPMusicPlayerController applicationMusicPlayer]; Nslog(@"%f",musicPlayer.volume); 

但是,如果我的手机保持沉默,它也会返回1.00事件。 我参考下面的链接如何确定iPhone铃声的当前水平? 但我找不到解决scheme。

请帮忙。

尝试这个:

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(volumeChanged:) name:@"AVSystemController_SystemVolumeDidChangeNotification" object:nil]; - (void)volumeChanged:(NSNotification *)notification{ NSDictionary*dict=notification.userInfo; float newVolume = [[dict objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"]floatValue]; //my comment: newVolume is value that you need }