Решение ниже
Я работаю над запущенным приложением, которое дает инструкцию по озвучке в начале каждого упражнения.Он работает, как задумано, когда устройство активно, но не работает, когда телефон заблокирован.[ Текущий звук продолжается, но в будущем звук не воспроизводится. ]
Вопрос Как начать воспроизведение звука за кадром, когда пользователь iPhone заблокирован.
В настоящее время я отслеживаю тренировку, используя Timer.scheduledTimer
, для 2 отображаемых таймеров [текущая активность и общая тренировка].Когда таймер достигает заданного времени ближе к концу одного действия, закадровый звук воспроизводится, чтобы ввести следующее действие. Таймер запускает звук, и я считаю, что это проблема .Я могу приостановить тренировку, пропустить секции и все работает нормально - до тех пор, пока устройство не заблокировано.
Если при нажатии кнопки «Домой» или блокировке iPhone воспроизводится голос за кадром, он продолжает воспроизводиться, как и ожидалось.Проблема в том, что таймер не срабатывает, поэтому следующий голос за кадром [скажем, 90 секунд] никогда не воспроизводится.
В некоторых ответах и комментариях, которые я читал, сказано, что эта функция просто не работает.это возможно в iOS.Приложение Couch to 5k https://itunes.apple.com/gb/app/one-you-couch-to-5k/id1082307672?mt=8 использует эту функциональность, поэтому я знаю, что это возможно, я просто не знаю, как они это делают.[Это будет специальный участник, который загрузит его, чтобы понять, что я имею в виду:)]
По результатам поиска я прочитал много постов, в которых говорится, что Timer
или NSTimer
не может работать, когдаприложение находится в фоновом режиме или телефон заблокирован.Любые посты, в которых говорится, что он может работать, устарели и основаны на iOS4 / 5
. Я читал о предложениях по использованию тишины и, по сути, наличию 1 длинного аудиофайла.Хотя это может создать некоторые новые проблемы для пропуска разделов в тренировке, я также прочитал комментарии, в которых говорится, что такое поведение не пройдет тестирование Apple приложения для AppStore.Третий недостаток - увеличение размера моего аудиофайла.
Опция, которую я видел, - это локальные уведомления, однако я пока не вижу пример того, как проигрывать голос за кадром, когда приложение находится вbackground.
Как мне достичь той же функциональности, что и в приложении Couch to 5k?
Спасибо