2015-05-24 1 views
6

Я разрабатываю приложение, которое делает некоторые записи, когда приложение находится на переднем плане и на заднем плане. Что работает. Тем не менее, я заметил, что «система» звучит как звуковые сигналы оповещения о тревоге, а вибрации приглушены всякий раз, когда активна моя аудио сессия (см. Ниже). Это верно, даже если приложение находится в фоновом режиме.Использование AVAudioSession AVAudioSessionCategoryPlayAndRecord отключает все push-уведомления звуки и вибрацию. Даже с приложением в фоновом режиме

В результате я перестаю получать звуки уведомлений/vibe для стандартных вещей, таких как текстовые сообщения, в то время как мое приложение находится в фоновом режиме и запись включена.

Аудио сессия устанавливаются следующим образом:

AVAudioSession* session = [AVAudioSession sharedInstance]; 
[session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&error]; 

Очевидно, эти звуки/вибрация не смешиваемая и поэтому я предполагаю, что они заглушены.

Есть ли способ обойти это (сохраняя при этом запись активным)? Как я могу записывать и все еще позволять пользователю получать звуки уведомлений и вибрации?

ответ

1

Вы можете попробовать это:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord 
           withOptions:(AVAudioSessionCategoryOptionDefaultToSpeaker | AVAudioSessionCategoryOptionDuckOthers) 
             error:nil]; 

Кроме того, вы можете поэкспериментировать с деактивация аудио сессии с помощью этого:

[[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil]; 

И затем снова его активации:

[[AVAudioSession sharedInstance] setActive:YES error:nil]; 

 Смежные вопросы

  • Нет связанных вопросов^_^