Попробуйте настроить громкость для volumeViewSlider после запуска любого аудио, каким-то образом установка аудиосессии на активную не помогает настроить громкость с помощью ползунка MPVolume, как только звук запускается (с использованием AVAudioPlayer в моем случае), тот же код работает.
Так что в принципе, в моем случае, после запуска контроллера представления прямое изменение громкости с помощью ползунка не работает, в то время как после запуска любого звука с использованием AVAudioPlayer в контроллере представления ползунок работает нормально.
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = -1;
audioPlayer.volume = 1.0;
[audioPlayer play];
if ([[MyGlobalManager sharedManager] getDeviceOS] > 11.3 && [[AVAudioSession sharedInstance] outputVolume] != 1.0f){
[volumeViewSlider setValue:1.0f animated:YES];
[volumeViewSlider sendActionsForControlEvents:UIControlEventTouchUpInside];
}
Где, volumeSlider получается как:
MPVolumeView* volumeView = [[MPVolumeView alloc] init];
//find the volumeSlider
for (UIView *view in [volumeView subviews]){
if ([view.class.description isEqualToString:@"MPVolumeSlider"]){
volumeViewSlider = (UISlider*)view;
break;
}
}
[volumeViewSlider setValue:1.0f animated:YES];
[volumeViewSlider sendActionsForControlEvents:UIControlEventTouchUpInside];