7

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

CheckError(AudioQueueStart(queue, NULL), "AudioQueueStart failed");

Я получаю эту ошибку:

Error: AudioQueueStart failed (-12985)

Так что я читал на этом, но только предположение настройку аудио сеанса активных AudioSessionSetActive(YES), но также с ошибкой '!cat'. Очевидно, вы можете попробовать переключить активное состояние аудио сессии, но это не сработало для меня.

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

Есть ли у кого-нибудь образец проекта Я мог бы посмотреть, как начать звукозапись в фоновом режиме?

Примечание: Я ищу решение, которое использует звуковые очереди, поскольку мне нужно аудио в буферах, а не в файле.

ответ

4

Оказалось, что пример кода Apple SpeakHere с некоторыми изменениями начнет запись звука в фоновом режиме, если вы просто добавите флаг многозадачности аудио в info.plist и добавите соответствующие существенные API изменения местоположения. Вы можете посмотреть https://github.com/benvium/SpeakHere на обновленную версию SpeakHere, так как Apple не обновила ее через некоторое время.

+0

Что такое флаг многозадачности аудио? Пожалуйста, объясни – Nil

-1

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

+2

Как приложение, такое как GPS-навигация, работает в ситуации, когда он не говорит в настоящее время, тогда пользователь переключается на музыкальное приложение и воспроизводит музыку до тех пор, пока навигационное приложение GPS не будет говорить в новом направлении, тогда музыкальное приложение перейдет на динамик снова. Я предполагаю, что если вы можете начать воспроизведение, пока ваше приложение находится в фоновом режиме, вы можете начать запись. – audioBackgrounder

+0

@ hotpaw2, живое приложение «рекордера сна» отлично работает и поддерживает запись всего дня в фоновом режиме. Таким образом, должен быть способ, который позволяет записываться в фоновом режиме целый день. вот связь с живым приложением: https://itunes.apple.com/ru/app/sleep-talk-recorder/id391767653?mt=8 – Jacky

+0

Возможно, эти приложения включают в себя их аудио-сессию, когда на переднем плане и перед выходом на задний план весь день. – hotpaw2