Установить громкость устройства - UILocalNotification - iphone в беззвучном режиме - PullRequest
2 голосов
/ 22 декабря 2011

Как настроить громкость устройства (в режиме без вывода сообщений), когда генерируется UILocalNotification, когда приложение работает в фоновом режиме?Я работаю над приложением тревоги, поэтому звук должен воспроизводиться и в беззвучном режиме, и я обрабатываю тревогу приложения, используя локальное уведомление.

Сильно застрял в этом выпуске, не может воспроизвести сигнал тревоги в тихом режиме.

Пожалуйста, помогите ..

Ответы [ 2 ]

3 голосов
/ 01 февраля 2012

Это просто невозможно.UILocalNotification всплывающее окно и звук генерируются другим системным процессом, и этот процесс наблюдает за режимом без звука устройства, поэтому он не будет воспроизводить звук уведомления, если устройство находится в беззвучном режиме.Приложение Clock для воспроизведения звука будильника, даже когда устройство находится в беззвучном режиме, вам придется воспроизводить звук будильника прямо из приложения.Для этого вам нужно будет поддерживать приложение в фоновом режиме, а затем воспроизводить звуковой файл будильника в фоновом режиме.Последнее можно сделать, указав «audio» в свойстве info.plist для свойства «Требуемые фоновые режимы» (вам нужно будет добавить это свойство в свой plist-файл)

Теперь, используя AVAudioPlayer, естьэто способ воспроизвести звук, даже когда устройство беззвучно, установив категорию «Аудио сеанс» следующим образом:

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];

Надеюсь, это поможет.

0 голосов
/ 22 декабря 2011

Вы должны понимать, что локальные уведомления запускаются, даже если ваше приложение уничтожено. Это приводит меня к выводу, что, вероятно, это невозможно сделать. Но вы можете попробовать это так:

 UInt32 sessionCategory = kAudioSessionCategory_AmbientSound;
            AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);

прямо перед тем, как активировать аудио сеанс.

...