1.修改系統(tǒng)音量 MPVolumeView 系統(tǒng)提供的音量控件,它里面的MPVolumeSlider是私有的? 但是可以獲取它來改變他的value從而修改音量,如果不想要系統(tǒng)的音量改變的提示框,可以把MPVolumeView放在屏幕外面
?MPVolumeView*volumeView = [[MPVolumeViewalloc]init];
[self.viewaddSubview:volumeView];
UISlider* volumeViewSlider =nil;
for(UIView*viewin[volumeViewsubviews]){
if([view.class.descriptionisEqualToString:@"MPVolumeSlider"]){
volumeViewSlider = (UISlider*)view;
break;??????? }
}
floatsystemVolume = volumeViewSlider.value;
[volumeViewSlidersetValue:1.0fanimated:NO];
_volumeViewSlider= volumeViewSlider;
?[volumeViewSlider sendActionsForControlEvents:UIControlEventTouchUpInside];
2.監(jiān)聽系統(tǒng)音量的改變
NSError *error;
?[[NSNotificationCenter defaultCenter] addObserver:self???????????????????????????????????????????????? selector:@selector(volumeChanged:)???????????????????????????????????????????????????? name:@"AVSystemController_SystemVolumeDidChangeNotification"?????????????????????????????????????????????????? object:nil];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];//注,ios9上不加這一句會無效,加了這一句后,
//在移除通知時(shí)候加上這句[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
-(void)volumeChanged:(NSNotification *)noti{
float volume =?????? [[[noti userInfo]?????????? objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"]???????? floatValue];
NSLog(@"volumn is %f", volume);
}