Я хочу преобразовать аудиофайл, сохраненный в формате .wav, в файл в формате .mp3.
Пожалуйста, предложите, как я могу добиться этого с помощью кодирования на Objective C.
Заранее спасибо.
Я хочу преобразовать аудиофайл, сохраненный в формате .wav, в файл в формате .mp3.
Пожалуйста, предложите, как я могу добиться этого с помощью кодирования на Objective C.
Заранее спасибо.
Вам придется использовать LAME, чтобы сделать это. Apple не поставляет кодировщик MP3 из-за проблем с патентами.
Взгляните на структуру AVFoundation
, особенно на AVAssetWriter
класс. Он очень мощный, но требует времени, чтобы его переварить. В блоге Криса Адамсона есть хорошая запись на декодирование песен из библиотеки iPod в PCM. Это как раз то, чего вы хотите, но это хорошее начало.
AVFoundation
.
- person zoul; 02.02.2011
Я не думаю, что в AVFoundation есть API для этого. Я думаю, что если вы используете AVAssetWritter вы можете записывать файлы *.m4a (AVFileTypeAppleM4A), которые, как мне кажется, *.acc. (ACC легче и лучше, чем mp3, так что хорошая альтернатива mp3)
Если вы используете CoreAudio, вероятно, будет много работы, но вы сможете записать mp3. Я спросил, как читать mp3 с помощью coreaudio в яблочных списках, как 2 года назад, и я получил код, который делает образец приложения speakHere способным читать *.mp3;)
Возможно, вам интересно: Новичок пытается воспроизводить файлы mp3 вместо файлов wav
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
Вслед за ответом sbooth о LAME есть отдельный пост на StackOverflow, который дает вам то, что вам нужно для создания .a для библиотеки: Как я могу скомпилировать lame как статическую библиотеку (.a) для armv6 и armv7 iPhone?
Как только вы это сделаете, следуйте документам LAME, и все готово.