Android JNI QQ 语音实战
其他文章:
继承 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 文章:
原创不易,您的点赞就是对我最大的支持~
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END