Скрыть красную строку состояния записи в приложении для iOS, когда запись не производится

Я не могу скрыть красную строку состояния «Запись» в своем приложении, когда приложение находится в фоновом режиме, а не в записи.

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

audioController = [[AEAudioController alloc] initWithAudioDescription:desc inputEnabled:YES];
audioController.audioSessionCategory = kAudioSessionCategory_MediaPlayback;

Когда пользователь хочет записать, я включаю микрофон следующим образом:

[audioController addInputReceiver:mic];
audioController.audioSessionCategory = kAudioSessionCategory_PlayAndRecord;

Когда пользователь хочет остановить запись, я выключаю его:

[audioController removeInputReceiver:mic];
audioController.audioSessionCategory = kAudioSessionCategory_MediaPlayback;

Проблема в том, что когда приложение не записывает и пользователь покидает приложение, красная строка состояния «Запись» все еще отображается. Я не могу остановить / удалить audioController, потому что приложение все еще может бытьиграть аудио.

Я не хочу, чтобы отображалась красная строка состояния записи, если я не записываю. Есть идеи, как это сделать?

Обновить

Я установил следующий блок кода для запуска каждые 2 секунды в моем приложении.

audioController.audioSessionCategory = kAudioSessionCategory_MediaPlayback;

AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError* error = nil;
[audioSession setActive:NO error: &error];
NSLog(@"error: %@", error);
[audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];

Это журналы:

TAAE: Setting audio session category to MediaPlayback
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryEnableBluetoothInput)    result 2003329396 77686174 what
Error Domain=NSOSStatusErrorDomain Code=560030580 "The operation couldn’t be completed. (OSStatus error 560030580.)"

Очевидно, что он не может отключить микрофон из-за чего-то, за что держится TAAE. Я не добавил никаких входов в контроллер, поэтому я не знаю, что это может быть.

Ответы на вопрос(4)

Ваш ответ на вопрос