之前曾經分享過如果操作 Core Audio 來設計一個屬於自己的 Audio Player,
基本上這個 Audio Player 已經能播放絕大多數的音檔格式,
但有某些情況下你可能需要支援像 FLAC 這樣的音檔格式,
而 Core Audio 本身是不支援 FLAC 的,(你甚至沒有辦法在 iTunes 上同步 FLAC)。
絕大多數的人都會使用一套 Origami Engine 來支援播放 FLAC,
Origami Engine Github
由於在安裝方面,官方的說明甚少且不清楚,因此下面來敘述一下如何將 Origami Engine 帶入你的專案。
因為目前 Origami Engine 還未支援 ARC,我先假設你的專案有支援 ARC,所以你要先在你的專案內加上一個 static library。
將 static library 的 ARC 關閉。
Origami 需要 FLAC 的 codec,因此你需要 submodule FLAC 的 iOS codec。
git@github.com:jhurt/FLACiOS.git手動將 Origami 與 FLACiOS 的檔案加入到 static library 底下。
你會發現某些檔案會找不到 header 檔,因此請在 static library 的 user header search paths 底下加入 $(SRCROOT)/FLACiOS/libFLAC/include。
再來就會發現在 static library 內的某些檔案會抓不到 NS 類型的 class,因此你可以加入一個 .pch 並且 import foundation,記得到 static library 的 prefix header 內加入這個檔案。
最後到你的 app target 內的 Target Dependenices 與 Link Binary With Library 加入此 static library。