2011-03-13 71 views
3

我從iOS音樂庫(作爲NSData對象)獲取歌曲數據,但是當數據不是MP3文件的數據時,我想對其進行轉碼。在iOS上轉碼音頻

我對轉碼過程中的兩個問題:

  1. 有內置的做一些事情,說M4A到MP3轉換,否則我將不得不使用類似的ffmpeg或其他外部庫?如果是後者,有沒有在iOS上做這個事情的例子呢?

  2. 這樣做的最佳方式是什麼,不會將所有內容加載到內存中?很明顯,一個大的歌曲文件將耗盡內存,應用程序將被終止。

+0

你爲什麼要這麼做?你不能像現在這樣玩嗎?如果你打算做一些其他的事情,我懷疑蘋果是否會允許。 – 2011-03-22 11:45:11

+0

我並不太擔心蘋果允許它,我沒有計劃將它用於商業產品。 – 2011-03-22 12:18:40

回答

2

也許 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