Как объединить два аудиофайла с помощью iPhone SDK?

Я хотел бы объединить два аудиофайла .caf в своем приложении для iPhone?

Не могли бы вы сообщить мне, как?

Спасибо!


person meetpd    schedule 27.07.2012    source источник


Ответы (1)


ВАРИАНТ 1:

Обратитесь к этой ссылке:

Объединить несколько аудиофайлов в один

Ответ invalidname в этом сообщении гласит:

MP3 — это потоковый формат, то есть в нем нет кучи метаданных в начале или в конце файла. Хотя у этого есть много недостатков, одним из преимуществ является то, что вы можете объединить файлы MP3 в один файл, и он будет воспроизводиться.

Это в значительной степени то, что вы делаете, объединяясь в NSMutableData, недостатком которого является то, что вам может не хватить памяти. Другой вариант — создать файл на диске с помощью NSFileHandle.

Это не работает для большинства форматов файлов (aac/m4a, aif, caf и т. д.). MP3 — это буквально просто поток, сбрасываемый на диск, с метаданными в заголовках кадров (или, в ID3, между кадрами), вот почему он работает.

ВАРИАНТ 2:

объединить два аудиофайла .caf в один один аудиофайл в iphone

Ответ от Midhere в этом сообщении:

Вы можете сделать это с помощью ExtAudioFileService. В библиотеке разработчика iOS они предоставили два примера для преобразования одного аудиофайла в другой формат. В них они открывают один аудиофайл для чтения и другой файл для записи (конвертированное аудио). Вы можете изменить или обновить код для чтения из двух файлов и записи их в один выходной файл в том же формате (caf) или в сжатом формате. Сначала вы открываете первый аудиофайл, читаете из него все пакеты и записываете их в новый аудиофайл. После завершения первого аудиофайла закройте файл и откройте второй аудиофайл для чтения. Теперь прочитайте все пакеты из второго аудиофайла и запишите во вновь созданный аудиофайл и закройте второй аудиофайл и новый аудиофайл.

Найдите ссылки (1,2) для этих примеров кода.... Надеюсь, это поможет вам... и удачи. :)

Поэтому попробуйте преобразовать его в другой формат, а затем попробуйте объединить его.

ВАРИАНТ 3:

Ссылаться на:

Объединение двух файлов CAF вместе

Ответ от dineth в этом сообщении:

Если кто-то хочет узнать ответ, есть способ сделать это. Вы должны использовать вызовы AudioFiles API. По сути, вы бы:

создайте новый аудиофайл с помощью AudioFileCreate с правильными параметрами (битрейт и т.д.). откройте свой первый файл, прочитайте пакеты и запишите их во вновь созданный файл. откройте второй файл и сделайте то же самое. убедитесь, что ваши счетчики не обнулены после записи первого файла. AudioFileClose -- и готово! На что обратить внимание: для локальных файлов вам нужно запустить метод для выхода из пробелов.

Вот об этом!

ВАРИАНТ 4:

Чуть в другой ноте.

Я думаю, что вы записываете файлы в CAF и пытаетесь их объединить. Так что в этом случае вы, наконец, можете попробовать записать свои файлы в каком-то другом формате, кроме caf.

Попробуйте эту ссылку для этого:

iOS: запись звука в формате, отличном от caf

Надеюсь это поможет.

person Parth Bhatt    schedule 27.07.2012