Скрыть красную строку состояния записи в приложении для 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. Я не добавил никаких входов в контроллер, поэтому я не знаю, что это может быть.