Я только что понял это.
Я создал цикл и использовал MPMusicPlayerController, чтобы возвращать объем на полную каждую 10-ую секунду.
Функция петли:
-(void) OverideVolumeLevelLoop:(NSTimer *)timer
{
[[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0f];
}
Тогда просто NSTimer для зацикливания этой функции:
NSTimer *overideVolumeLoop = [NSTimer scheduledTimerWithTimeInterval:0.1f target:self selector:@selector(OverideVolumeLevelLoop:) userInfo:nil repeats:YES];
(Вы можете запустить цикл медленнее, но пользователь заметит, что громкость снова увеличивается)
& Не забудьте аннулировать ваш цикл, когда закончите:
[overideVolumeLoop invalidate];
Это основано на этой теме:
Установка громкости устройства на iPhone