在iOS上转码音频

问题描述:

我从iOS音乐库(作为NSData对象)获取歌曲数据,但是当数据不是MP3文件的数据时,我想对其进行转码。在iOS上转码音频

我对转码过程中的两个问题:

  1. 有内置的做一些事情,说M4A到MP3转换,否则我将不得不使用类似的ffmpeg或其他外部库?如果是后者,有没有在iOS上做这个事情的例子呢?

  2. 这样做的最佳方式是什么,不会将所有内容加载到内存中?很明显,一个大的歌曲文件将耗尽内存,应用程序将被终止。

+0

你为什么要这么做?你不能像现在这样玩吗?如果你打算做一些其他的事情,我怀疑苹果是否会允许。 – 2011-03-22 11:45:11

+0

我并不太担心苹果允许它,我没有计划将它用于商业产品。 – 2011-03-22 12:18:40

也许 libSOX符合您的需求。

工具的功能都可以[点击这里] [2]

编译为iOS,检查出的螺纹building libsox for iOS question

[2]: http://sox.sourceforge.net/Docs/Features “这里”


我认为ffmpeg是选择

对于iOS http://code.google.com/p/ffmpeg4iphone/

http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-October/076618.html


http://fobs.sourceforge.net/是另一种选择(C++包装器FFMPEG)。它的主页有对m4a文件的参考。要使用它,你可以在Objective-C的.mm文件中包装C++。

+0

感谢您的链接,但没有提及它能够处理m4a文件,甚至MP3似乎需要额外的库。 – 2011-03-22 12:25:05

+0

是的,你刚刚在这里给我一个ffmpeg的链接,并没有真正回答任何一个问题。 – 2011-03-23 16:06:54

+0

更新的答案可以为你工作吗? – yolo 2011-03-26 15:44:48