Конвертировать файл .wav в .mp3

Я хочу преобразовать аудиофайл, сохраненный в формате .wav, в файл в формате .mp3.

Пожалуйста, предложите, как я могу добиться этого с помощью кодирования на Objective C.

Заранее спасибо.


person iPhoneDev    schedule 02.02.2011    source источник
comment
в коде.. также отредактировал мой вопрос   -  person iPhoneDev    schedule 02.02.2011


Ответы (5)


Вам придется использовать LAME, чтобы сделать это. Apple не поставляет кодировщик MP3 из-за проблем с патентами.

person sbooth    schedule 02.02.2011
comment
Я не уверен, имеете ли вы в виду библиотеку или исполняемый файл, но lame.cvs. sourceforge.net/viewvc/lame/lame/USAGE может помочь. - person sbooth; 23.02.2012
comment
stackoverflow.com/questions/9207063/ - person William Power; 12.04.2013

Взгляните на структуру AVFoundation, особенно на AVAssetWriter класс. Он очень мощный, но требует времени, чтобы его переварить. В блоге Криса Адамсона есть хорошая запись на декодирование песен из библиотеки iPod в PCM. Это как раз то, чего вы хотите, но это хорошее начало.

person zoul    schedule 02.02.2011
comment
Привет, я проверил эту ссылку. В этой ссылке упоминается, что мы должны указать тип выходного файла с помощью AVAssetWriter. Но для формата .mp3 нет типа выходного файла. Пожалуйста, проверьте формат файлов UTI по ​​этой ссылке разработчику .apple.com/library/ios/#documentation/AVFoundation/ Итак, моя проблема остается прежней. Но спасибо за ответ, запись в блоге хороша. - person iPhoneDev; 02.02.2011
comment
Я предполагал, что подойдет любой сжатый формат, извините. В этом случае вам, вероятно, придется использовать API более низкого уровня, а не AVFoundation. - person zoul; 02.02.2011

Я не думаю, что в AVFoundation есть API для этого. Я думаю, что если вы используете AVAssetWritter вы можете записывать файлы *.m4a (AVFileTypeAppleM4A), которые, как мне кажется, *.acc. (ACC легче и лучше, чем mp3, так что хорошая альтернатива mp3)

Если вы используете CoreAudio, вероятно, будет много работы, но вы сможете записать mp3. Я спросил, как читать mp3 с помощью coreaudio в яблочных списках, как 2 года назад, и я получил код, который делает образец приложения speakHere способным читать *.mp3;)

Возможно, вам интересно: Новичок пытается воспроизводить файлы mp3 вместо файлов wav

person nacho4d    schedule 02.02.2011
comment
Привет, спасибо за ответ, но я хочу преобразовать или создать звуковой файл в формате .mp3. Я знаю, как воспроизводить файлы .mp3. - person iPhoneDev; 02.02.2011

CoreAudio framework имеет API под названием Extended Audio File Services, который позволяет конвертировать из одного формата в другой. См. здесь: http://developer.apple.com/library/ios/#samplecode/iPhoneExtAudioFileConvertTest/Introduction/Intro.html#//apple_ref/doc/uid/DTS40009222-Intro-DontLinkElementID_2

person Itamar Katz    schedule 02.02.2011

Вслед за ответом sbooth о LAME есть отдельный пост на StackOverflow, который дает вам то, что вам нужно для создания .a для библиотеки: Как я могу скомпилировать lame как статическую библиотеку (.a) для armv6 и armv7 iPhone?

Как только вы это сделаете, следуйте документам LAME, и все готово.

person William Power    schedule 12.04.2013
comment
но следите за беспорядком LGPL/GPL. - person tcurdt; 31.10.2013