Opus 音頻編解碼庫是 Speex 音頻編解碼庫的下一代版本,從編解碼性能以及質量上來講都有了長足的進步。Opus 的編譯非常簡單,但是官方並未給出詳細的 Android 版本編譯指南,查找了大量資料,經過多次試驗,總結了一套成功的方法,具體如下:
1. 確保你的機器上安裝有 android ndk,並下載最新的 opus 源代碼。
2. android ndk 因為包含了針對多個 android 系統版本(api level)的編譯器工具鏈文件,但是並未直接提供一個具體可用的工具鏈,因此需要借助 ndk 生成一套編譯器工具鏈,前提是你必須要指定該工具鏈所針對的具體 android 系統版本,這裡以 api level 14(對應 android 4.0)為例,生成針對它的編譯器工具鏈,使用如下命令:
~/android-ndk-r10e/build/tools/make-standalone-toolchain.sh --platform=android-14 --install-dir=/tmp/my_toolchain
3. 定義環境變量,用於臨時的編譯,使用如下命令:
export PATH=/tmp/my_toolchain/bin/:$PATH
export CC=arm-linux-androideabi-gcc
export CXX=arm-linux-androideabi-g++
4. 配置並創建 opus 源代碼的 Makefile 編譯配置文件,使用如下命令:
./configure --host=arm-linux-androideabi
5. 編譯 opus 源代碼並生成庫文件,使用如下命令:
make
注意,make 命令將自動編譯源代碼並生成庫文件(靜態庫及動態庫),庫文件位於 opus 源代碼所在目錄中的某個子目錄內,可能該子目錄名字以“.”開頭,所以可以用 ls -a 命令來查看一下。因為這裡我們編譯的是 for android 的版本,所以我們不要再執行 make install 了。
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11