Вопрос по ios – IOS - объединить / объединить несколько аудио файлов

0

У меня есть куча аудио файлов (mp3, aac, что угодно), и я хочу объединить их в 1 аудио файл. Кто-нибудь делал это раньше?

Ваш Ответ

2   ответа
2

сначала нужно загрузить аудиофайлы в AVAssets. В частности, вы захотите использовать подкласс AVAsset под названием AVURLAssets, который может загрузить ваш URL: Загрузка AVAsset. Затем вы можете добавить каждыйAVAsset в AVMutableComposition, который предназначен для содержания несколькихAVAssets. Как только вы загрузили его вAVMutableComposition, вы можете использовать AVAssetExportSession записать композицию в файл.

Обратите внимание, чтоAVAssetExportSession не дает большого контроля над выводом файла (он экспортирует аудио в файл m4a). Если вам нужно больше контроля над типом вывода, вам нужно использовать AVAssetReader а также AVAssetWriter классы для выполнения экспорта, а неAVAssetExportSession. Эти классы намного сложнее в использовании, чемAVAssetExportSession и здесь стоит разобраться, чтобы понять

Я также укажу, что у Apple нет опций для записи файлов MP3. Вы можете читать их, но не можете их писать. Обычно лучше придерживаться формата m4a / aac.

0

используя ExtAudioFile. В псевдокоде, что вы хотите сделать, это:

1. Open the file you'll be using for output (ExtAudioFileOpen)
2. Set the client data format you'll use for ExtAudioFileWrite
3. For each input file you want to process:
    a. Open the file using ExtAudioFile
    b. Set the client data format used for reading to the same client format used in the output file for writing
    c. Loop through the input file using ExtAudioFileRead and save the data to the output file using ExtAudioFileWrite
    d. Close the input file
4. Close the output file

Похожие вопросы