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

Android JNI QQ 语音实战

其余文章:android

Android JNI 入门(含完整Demo)git

Android JNI 进阶(含完整 Demo)github

继承 C++库

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

Fmod 打开界面是这样的:windows

\api

而后注册,下载便可:markdown

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

红框下载后是这个样子:架构

\oop

而后打开便可,打开的时候系统自带了一些音频:ui

\

选择这个打开便可:

\

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

配置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)

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

相关文章
相关标签/搜索