2015-04-27 4 views
0

Я написал приложение iOS, которое получает вход микрофона, и анализирует его. На основе анализа приложение должно отправить уведомление пользователю. Однако, когда я отправляю приложение на задний план, приложение прекращается через несколько секунд. Я использовал this link и установил соответствующие свойства в Info.plist. В частности, ключ Required background modes со значением App plays audio or streams audio/video using Airplay. Любые другие вещи, которые мне нужно делать и пропустить?Приложение, использующее вход микрофона, завершается при отправке на задний план

Не знаю, если уместно, но я пользуюсь EZAudio для доступа к микрофону.

+0

ли пользователь дал разрешение на приложение, чтобы использовать микрофон? – ThomasW

+0

@ThomasW да он сделал – nevos

ответ

0

У меня была аналогичная проблема. Вы также должны включить его в Возможности для работы. Есть Фоновые режимы на? Если да, установлен ли параметр Audio и AirPlay?

Настройки проекта: Project Settings

Я надеюсь, что это помогает!

+0

Это, к сожалению .. – nevos

+0

Просто убедитесь, что после того, как вы внесли эти изменения (Plist + Project settings), у вас есть _deleted_ приложение из симулятора/устройства, _deep cleaned_ (Command + Option + Shift + K) и _built_ проект снова? –

+0

да у меня есть .. Как вы думаете, это может быть связано с [EZAudio] (https://github.com/syedhali/EZAudio)? – nevos

0

если вы можете использовать EZAudioPlotGL класс, чем изменить его EZAudioPlot Класс, это работает для меня. выбрать EZAudioPlotGL просмотреть изменить только класс имя взгляда goto идентификационный инспектор и изменить его EZAudioPlot. после этого

@property (nonatomic,weak) IBOutlet EZAudioPlotGL *audioPlot; 

Изменить это

@property (nonatomic,weak) IBOutlet EZAudioPlot *audioPlot; 

в AppDelegate.m изменения файла также

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 
    __block UIBackgroundTaskIdentifier task=0; 
    task=[application beginBackgroundTaskWithExpirationHandler:^{ 
     NSLog(@"Expiration handler called %f",[application backgroundTimeRemaining]); 
     [application endBackgroundTask:task]; 
     task=UIBackgroundTaskInvalid; 
    }]; 
} 
+0

Не работает ли EZAudioPlotGL в фоновом режиме? Я использую его, потому что он позволяет использовать прозрачный фон. – nevos

+0

в моем случае EZAudioPlotGL не работает в фоновом режиме. У меня есть EZaudioPlot. его работы прекрасно в фоновом режиме. – sohil

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