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

Я использую AVAudioPlayer, чтобы воспроизвести короткое слово из одного или двух слогов в моем приложении. В настоящее время существует 250 файлов.aiff, и каждый файл имеет размер от 88 КБ до 125 КБ каждый. В настоящее время мой файл ipa находится в 29Megs, и я пытаюсь найти лучший способ уменьшить размер, чтобы у пользователя не было Wi-Fi для его загрузки.

Каждый аудиоклип длится от 1 до 2,5 секунд. Мне не нужно останавливаться, перематывать назад, перемотать вперед и т. Д.

Исходя из того, что я читал до сих пор, AVAudioPlayer воспроизводит только aiff, wav или caf, и ни один из них не сжат. Любая рекомендация о том, что я могу сделать? Спасибо.

1 ответ

Решение

Файлы CAF могут быть сжаты с использованием алгоритмов с потерями или без потерь. Если вы используете командную строку afconvert утилиту для конвертации можно попробовать:

  • afconvert -f caff -d ima4 audiofile.wav (для сжатия IMA4)
  • afconvert -f caff -d aac audiofile.wav (для сжатия AAC)

Также есть параметр -b, который позволяет вам установить выходную битовую скорость, и множество других опций. Страница man в основном пуста, но полный список возможностей приведен в QA1534.

Другие вопросы по тегам