I'm using MPMusicPlayerController to change system volume using my slider:
-(void)viewDidLoad{
MPMusicPlayerController musicPlayer = [MPMusicPlayerController applicationMusicPlayer];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(volumeChanged:) name:@"AVSystemController_SystemVolumeDidChangeNotification" object:nil];
}
Then I have implemented following methods to change the sound:
-(IBAction)sliderValueChanged:(UISlider *)sender{
[musicPlayer setVolume: sender.value];
}
- (void)volumeChanged:(NSNotification *)notification
{
float volume =[[[notification userInfo] objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"]floatValue];
[self.volumSeekbar setValue:musicPlayer.volume];
}
When I change volume with my seeker it shown the system volume controller, is there any way to prevent showing that?
edit: MPVolume default image with good quality but a little big!
These are the images I use - I've only included the 1x sizes - thumb is 54 x 30
[self.mpVolumeView setMinimumVolumeSliderImage:[UIImage imageNamed:@"master_volume_bar"] forState:UIControlStateNormal];
[self.mpVolumeView setMaximumVolumeSliderImage:[UIImage imageNamed:@"grey_volume_bar"] forState:UIControlStateNormal];
[self.mpVolumeView setVolumeThumbImage:[UIImage imageNamed:@"volume_thumb"] forState:UIControlStateNormal];