天天看點

speex編解碼在android上實作

     以前在應用中使用到了Speex編解碼,近來總結了一下Speex在android上的實作。Speex是一套主要針對語音的開源免費,無專利保護的音頻壓縮格式。Speex工程着力于通過提供一個可以替代高性能語音編解碼來降低語音應用輸入門檻 。另外,相對于其它編解碼,Speex也很适合網絡應用,在網絡應用上有着自己獨特的優勢。同時,Speex還是GNU工程的一部分,在改版的BSD協定中得到了很好的支援。Speex是基于CELP并且專門為碼率在2-44kbps的語音壓縮而設計的。Speex源碼是基于c語音實作的(也有java實作,效率相對較低)。

       2、建立新的android工程,并建立jni檔案夾。

       3、把speex源碼目錄下的libspeex和include目錄及其子目錄檔案全部拷貝到$project/jni目錄下。

     4、在jni目錄下新增Android.mk檔案,編輯内容如下:

5.在jni目錄下新增Application.mk檔案,編輯内容如下

6.在$project/jni/include/speex/目錄下新增speex_config_types.h檔案,編輯内容如下

7.建立JNI包裝類speex_jni.cpp,用來調用Speex中的C代碼函數,編輯内容如下

8.在Java層建立Speex工具類,内容如下:

9、使用cygwin編譯,生成so檔案

     本文轉自xyz_lmn51CTO部落格,原文連結:http://blog.51cto.com/xyzlmn/1230787,如需轉載請自行聯系原作者

繼續閱讀