Android JNI QQ 搞怪语音实战 (含完整 Demo)

Android JNI QQ 语音实战

其他文章:

Android JNI 入门(含完整Demo)

Android JNI 进阶(含完整 Demo)

继承 C++库

想改变 语音音频,那么就得调用 C++的音频库 Fmod

Fmod 打开界面是这样的:

\

然后注册,下载即可:

  • 红框:下载的时候我是 mac 所以下载 mac,这个是 Fmod 自带的音频调节软件
  • 绿框:是Android 平台的.so 文件等等

红框下载后是这个样子:

\

然后打开即可,打开的时候系统自带了一些音频:

\

选择这个打开即可:

\

打开后是这样的:一些简单设置看文字即可
在这里插入图片描述

配置Fmod 在 Android 中的 C++环境

第一步:inc文件夹引入

打开下载的Fmod引擎

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
复制代码

效果图为:

走到这里 Fmod 配置就全部完成了!

QQ 语音实战思路

  • 通过消息引擎系统(System)来使用
  • 通过声音(Sound)来配置声音的进度
  • 通过音轨(Channel)来集成多种声音混合使用
  • 最后通过 DSP(digital signal process 数字信号处理)来处理声音

这里只提供思路,如另有想法请下载 完整代码

注意:

如果 so 库报错,把其他两个注释掉

同理,如果你想看 JNI 基本使用(native-simple-lib.cpp)的代码,那么吧 JNI 进阶和 QQ语音实战的代码注释掉!

现在只能有一个 cpp 文件存在
在这里插入图片描述

完整代码

其他 JNI 文章:

Android JNI 入门(含完整Demo)

Android JNI 进阶(含完整 Demo)

原创不易,您的点赞就是对我最大的支持~

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享