2014-12-21 2 views
0

Я хотел бы запланировать серию локальных звуковых дорожек, которые будут воспроизводиться последовательно, когда мое приложение связано с фоном или устройство заблокировано, и после задержки. Кроме того, каждый трек должен воспроизводить только образец с фиксированной длительностью. Например:Воспроизведение последовательности аудиозаписей в фоновом режиме после задержки

  • Пользователь нажимает кнопку в моем приложении.
  • Пользовательские блокировки устройства.
  • Через x минут треки A, B и C воспроизводятся последовательно в течение секунд.

Как я могу это сделать?

Моя нынешняя лучшая надежда - это запланировать их в AVPlayerQueue, поскольку, если я правильно настроил очередь, фоновое аудио должно тогда «просто работать». Но я не вижу способа установить продолжительность для каждого AVPlayerItem. Я также не знаю, как установить начальную задержку, хотя я бы подумал о том, чтобы использовать цикл беззвучного аудиоклипа, если это единственное препятствие.

+1

Что бы я сделал (и я вижу, что вы уже думаете в этих терминах), это треки в очереди, которые на самом деле делают то, что вы хотите: например. x минут молчания, y секунд трека A, y секунд трека B, y секунд трека C. Вам нужно будет играть до того, как вы будете в фойе, даже если то, что вы играете, это тишина, иначе вы выиграете ' t иметь возможность работать в фоновом режиме вообще. – matt

+0

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

ответ

0

Если вы используете AudioKit, что-то вроде этого будет легко выполнить. Посмотрите на AKClipPlayer или AKPlayer. Оба класса поддерживают планирование и время начала/окончания.

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