Как разделить кодирование звука на несколько запусков приложений? - PullRequest
0 голосов
/ 25 сентября 2011

Мое приложение должно кодировать большое количество аудиоданных в файл M4A. В настоящее время я использую AVAssetWriter, который работает нормально, за исключением того, что для кодирования всех данных требуется несколько минут. Вместо того чтобы просить пользователя оставить приложение работающим до завершения процесса, я хотел бы приостановить кодирование, когда приложение завершится, и продолжить при повторном запуске. К сожалению, AVAssetWriter, похоже, не поддерживает это, поскольку при инициализации он всегда создает новый файл.
Знаете ли вы какие-либо другие API, которые я мог бы использовать? Может сторонняя библиотека?

1 Ответ

0 голосов
/ 25 сентября 2011

Это именно то, для чего предназначена фоновая обработка. Если вы можете завершить работу в течение 10 минут, вы можете использовать beginBackgroundTaskWithExpirationHandler:, чтобы попросить систему продолжить работу после того, как пользователь переключит приложения. См. Выполнение задачи конечной длины в фоновом режиме в Руководстве по программированию приложений iOS. Это не только самое простое в использовании приложение, но и наилучшее взаимодействие с пользователем.

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

...