Android studio NDK + CMake 编译SoundTouch

温馨提示:

本博客不是从零开始的文章,也不是什么高手精贴,只是一个菜鸡踩坑记录贴,建议懂得NDK+CMake流程的人观看,若是从零开始的,推荐先去看一下我之前跑的一个例子:

传送门在此:https://my.oschina.net/u/1462828/blog/1552937

最后:本帖子只负责编译,具体能不能用起来,我在写这篇博客的时候,还没去试(手动滑稽)

帖子参考

https://blog.csdn.net/mazaiting/article/details/79708541

步骤1:下载

肯定是先下载SoundTouch了,直接去官网下最新(目前是2.0)的就好:

传送门:http://www.surina.net/soundtouch/sourcecode.html

步骤2:生成.h

复制一个SoundTouch.java并生成.h文件(详细步骤:自行百度,NDK生成.h文件)

我这里包名是com.touch,所以生成了com_touch_SoundTouch.h

将com_touch_SoundTouch.h和源码的soundtouch-jni.cpp复制到main/cpp目录下,我这里还有其他好多东西,就不放截图了。

步骤3:复制SoundTouch源码

1、main/cpp目录下创建一个文件夹,我这里命名为touch

2、将源码sourc/SoundTouch目录下的所有cpp和h的文件复制到main/cpp/touch目录下

3、将源码的include代码的所有h文件复制到main/cpp/touch目录下

4、将源码sourc/SoundStretch目录下的所有cpp和h的文件(main用不到)复制到main/cpp/touch目录下

所有文件复制完成之后,文件列表如图所示:

步骤4:修改代码

1、看大神的说法:

2、修改soundtouch-jni.cpp里面的引用SoundTouch.h和WavFile.h这两个头文件的代码和引用com_touch_SoundTouch.h,删掉再导入就好了,反正用CMake是有代码提示的,导入之后如下:

步骤5:编辑CMakeLists.txt文件

全部文件我就不贴出来了,贴关键点就好了,看图

编译一下,如果没有报错的话,应该会自动生成一个名为libsoundtouch.so的文件,当然不会在jniLibs里面出现,可以打个apk出来,用压缩软件打开apk,找到lib文件夹,应该可以在里面找到这个libsoundtouch.so文件。

猜你喜欢

转载自my.oschina.net/u/1462828/blog/1824253