Может ли записываемое аудио быть сжатым на лету?
или есть какие-нибудь библиотеки, чтобы взять файл .caf и преобразовать его в сжатый формат?
Audio Queue Services может записывать и кодировать аудио. Они доступны на iPhone. Документация включает в себя сохранение в файл произвольного формата. Я не знаю, идеально ли это подходит для перекодирования файла .caf, но это определенно стоит посмотреть.
Core Audio API (которые вы будете использовать для записи аудио) позволяют вам выбирать формат, битрейт и т. Д. Вы можете выбрать низкий битрейт, чтобы уменьшить размер файла. В большинстве случаев с iPhone вы записываете голосовое аудио, и вам подходит низкий битрейт.
2.x SDK не поддерживает сжатие звука.
Возможно, вам придется скомпилировать и связать стороннюю библиотеку.
Следите за использованием процессора, очевидно, оно не будет аппаратным ускоряется как встроенная декомпрессия.