MPVolumeView *volumeView = [[MPVolumeViewalloc]initWithFrame:CGRectMake(-100, -100,100,100)];
[self.viewaddSubview:volumeView];
第二行代码非常重要,之前弄了好久都没效果。
另外:
设置监听
-(void)viewDidAppear:(BOOL)animated{
NSError *error;
[[AVAudioSessionsharedInstance]setActive:YESerror:&error];
[[AVAudioSessionsharedInstance]addObserver:selfforKeyPath:@"outputVolume"options:NSKeyValueObservingOptionNew |NSKeyValueObservingOptionOld context:(void *)[AVAudioSessionsharedInstance]];
}
退出界面的时候关闭监听
-(void)viewDidDisappear:(BOOL)animated{
[superviewDidDisappear:animated];
NSError *error;
[[AVAudioSessionsharedInstance]setActive:NOerror:&error];
[[AVAudioSessionsharedInstance]removeObserver:selfforKeyPath:@"outputVolume"context:(__bridgevoid *)([AVAudioSessionsharedInstance])];
}
实现KVO
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if(context == (__bridgevoid *)[AVAudioSessionsharedInstance]){
ToDo
}
}