Android JNI QQ 语音实战
其他文章:
继承 C++库
想改变 语音音频,那么就得调用 C++的音频库 Fmod
Fmod 打开界面是这样的:
![](https://i-blog.csdnimg.cn/blog_migrate/a51a08266e77a22d9359452be1a08a69.png#pic_center)
然后注册,下载即可:
![](https://i-blog.csdnimg.cn/blog_migrate/f9d3fca076e1265352f4976ba22a95ce.png#pic_center)
- 红框:下载的时候我是 mac 所以下载 mac,这个是 Fmod 自带的音频调节软件
- 绿框:是Android 平台的.so 文件等等
红框下载后是这个样子:
![](https://i-blog.csdnimg.cn/blog_migrate/e428c9df3c0824ec0a4c4b26ccf0e0d6.png#pic_center)
然后打开即可,打开的时候系统自带了一些音频:
![](https://i-blog.csdnimg.cn/blog_migrate/7604865aad1c5ff761a2e3f90a633881.png#pic_center)
选择这个打开即可:
![](https://i-blog.csdnimg.cn/blog_migrate/a78624be3d5425123bcb86736067c388.png#pic_center)
打开后是这样的:一些简单设置看文字即可
配置Fmod 在 Android 中的 C++环境
第一步:inc文件夹引入
打开下载的Fmod引擎
![](https://i-blog.csdnimg.cn/blog_migrate/95224d796c8441387b5a833eae85fdf0.png#pic_center)
mac路径为:
fmodstudioapi20109android.api.core.inc
windows路径基本类似
引入 inc 文件夹:
第二步:CMakeLists.txt 文件配置
include_directories("inc")
第三步:导入库文件
# CMAKE_CXX_FLAGS 保留之前内容
# CMAKE_SOURCE_DIR CMakeLists.txt 所在路径
# /../推出到上一级
# CMAKE_ANDROID_ARCH_ABI 获取当前手机 CPU 架构
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${CMAKE_SOURCE_DIR}/../jniLibs/${CMAKE_ANDROID_ARCH_ABI}")
第四步:导入 jniLibs 文件
第五步:导入 jar 文件
记得添加依赖:
implementation files("libs\\fmod.jar")
第六步:配置 so 动态库文件,链接到我们的 so 库
最后一步
- 黄框:指定 CPU 架构 CMake本地库
- 红框: 指定 CPU 架构,打入 apk文件
福利:
可以使用 adb 命令看到自己手机使用的 CPU 架构是什么
adb shell getprop ro.product.cpu.abi
效果图为:
![](https://i-blog.csdnimg.cn/blog_migrate/be93827cd7faa342047762540ae3060f.png#pic_center)
走到这里 Fmod 配置就全部完成了!
QQ 语音实战思路
- 通过消息引擎系统(System)来使用
- 通过声音(Sound)来配置声音的进度
- 通过音轨(Channel)来集成多种声音混合使用
- 最后通过 DSP(digital signal process 数字信号处理)来处理声音
这里只提供思路,如另有想法请下载 完整代码
其他 JNI 文章:
原创不易,您的点赞就是对我最大的支持~