Блокировка реальной громкости iphone в приложении - PullRequest
1 голос
/ 12 сентября 2011

У меня есть приложение будильника в appStore, и я хочу настроить его так, чтобы пользователь НЕ мог понизить громкость (используя боковые кнопки) во время звучания будильника.Я не могу найти, как это сделать в документации, я что-то пропустил?

Будильник Free (популярный зеленый) от iHandySoft Inc. делает это так, что это возможно.Если вы уменьшите громкость основного и звонка до 0 и включите iphone в беззвучном режиме, будильник все равно будет воспроизводить полный звук.Затем вы обнаружите, что ваш общий уровень громкости был увеличен до 80%.

В настоящее время я использую AV Audio.

Вся помощь очень ценится!

Ответы [ 2 ]

3 голосов
/ 12 сентября 2011

Я только что понял это.

Я создал цикл и использовал 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

0 голосов
/ 12 сентября 2011

Вы пробовали функцию громкости AVAudioPlayer? то есть

//some method that gets called when you want to play a sound
- (void)play sound {

audioPlayer.volume = 1.0;
[audioPlayer play];

}
...