本文代码在https://github.com/czl0325/VoiceChange-Andorid

1.下载fmode库

前往  https://www.fmod.com/ 下载fmod库,上方有个download,点击进去,选择安卓版本。

2.加入库

Android studio3.1.4,新建一个工程,勾选include c/c++ support,把异常检测和安全转换也勾选上。

打开下载之后解压的fmod目录,我们使用目录 api/lowlevel的库,先把inc的文件都拷贝到cpp文件夹里进去,再把so库和jar包也加载到libs文件夹里。

jar文件要右键 ,add as library

3. 配置CMakeLists.txt文件cmake_minimum_required(VERSION 3.4.1)

#把系统的log库导入进来

find_library( log-lib

log )

set(distribution_DIR ../../../../libs)

#把libfmod.so预加载进来

add_library( fmod

SHARED

IMPORTED)

set_target_properties( fmod

PROPERTIES IMPORTED_LOCATION

${distribution_DIR}/${ANDROID_ABI}/libfmod.so)

#把libfmodL.so预加载进来

add_library( fmodL

SHARED

IMPORTED)

set_target_properties( fmodL

PROPERTIES IMPORTED_LOCATION

${distribution_DIR}/${ANDROID_ABI}/libfmodL.so)

add_library( native-lib

SHARED

src/main/cpp/native-lib.cpp )

include_directories(src/main/cpp/inc)

target_link_libraries( native-lib

fmod

fmodL

${log-lib} )

需要先把两个动态库预加载进来,然后修改build.gradle的文件,红色部分

编译时候发现提示不支持armeabi库,把libs文件夹的armeabi删除了。

至此编译全部成功。

4.编写代码

在MainActivity里面创建一个native的方法public native static int playSound(String path,int type);

有两个参数,一个是播放的音频所在的路径,一个是type用萝莉声音或者大叔声音来播放。

在native-lib里面实现方法。

播放声音分5个步骤:

1.System_Create创建一个system

2.init初始化

3.createSound创建一个声音

4.playSound播放声音

5.system->update();执行后声音才能播放出去。

第四步->第五步之间可以添加一些声音的特殊处理。

android fmod,Android采用fmod库实现变声效果相关推荐

  1. [项目总结]在ios中使用soundtouch库实现变声

    这篇文章是项目总结了. 做了段时间的项目,过程中也遇到了很多麻烦,但是好在终于都解决了,这里是这里是项目之后凭着记忆总结出来,大家有遇到同样的问题,希望能参考了,但是我记忆可能不太好了,要是实践中有什 ...

  2. 在ios中使用soundtouch库实现变声

    这篇文章是项目总结了. 做了段时间的项目,过程中也遇到了很多麻烦,但是好在终于都解决了,这里是这里是项目之后凭着记忆总结出来,大家有遇到同样的问题,希望能参考了,但是我记忆可能不太好了,要是实践中有什 ...

  3. IOS中使用SoundTouch库实现变声

    IOS中使用SoundTouch库实现变声 void AQRecorder::StartRecord(CFStringRef inRecordFile) { mSoundTouch.setSample ...

  4. [修正]IOS中使用SoundTouch库实现变声

    之前写过一片文章" IOS中使用SoundTouch库实现变声". 最后有很多朋友在博客上说发出来的代码在模拟器上运行可以,不能在真机上运行,前段时间一直也很忙,没时间翻代码出来查 ...

  5. Web Audio API实现简单变声效果

    前言 想在网页中实现实时音频变声效果该如何实现呢,之前遇到这种处理音视频的需求,可能会想到需要借助C代码实现.但是现在随着浏览器性能的提升.web API的丰富,通过浏览器原生的API也可以操作音频数 ...

  6. NDK开发——Android Studio+CMake实现QQ变声效果

    项目演示 Github:https://github.com/AndroidHensen/NDKVoice 项目分析 项目采用Fmod开源库,一个非常简单通用的音频引擎,对原始声音进行音效的处理即可做 ...

  7. SoundTouch开源库实现变声

    类似于TOM猫,实现了录音并且通过参数调节播放变声 开源库可以在 http://www.surina.net/soundtouch/   下载 tempo;//  Change sound tempo ...

  8. android fmod,Android ndk开发:fmod语音学习(二)

    在上一篇文章中,介绍以及搭建了FMOD的Android示例,这篇文章是在上一篇文章的基础上写的.所以建议首先读一下我的这篇文章. 本文使用FMOD来实现变声效果,直接使用<Android ndk ...

  9. android变声后的文件,仿QQ语音变声功能实现(二)---移植到android studio 并解决部分问题...

    版权声明:转载必须注明本文转自张鹏辉的博客: http://blog.csdn.net/qingtiangg 大家好,距离上一篇博客半年过去了,关于上一篇博客很多人加我QQ留言问了几个问题,最近不忙决 ...

  10. Android 开发之 QQ变声功能实现

    1.简介 在QQ中我们使用到的一个功能就是变声,QQ是使用FMOD实现的,那么同样的我们也使用FMOD让自己的应用可以变音 2.FMOD简介 fmod Ex 声音系统是为游戏开发者准备的革命性音频引擎 ...

最新文章

  1. cmd中运行python文件,并带参数
  2. 从AppStore提取ipa
  3. 【LeetCode】4.寻找两个正序数组的中位数
  4. Codeforces Round #618 (Div. 2)-C. Anu Has a Function
  5. 数据库 CURD测试题【简单】
  6. netstat 相关命令解析
  7. Sublime Text 3无法安装Package Control插件的解决
  8. Java笔记-Java通过JNI调用Linux上so文件
  9. jq执行2次同样的方法怎么让第一次执行的不触发_你不知道的CMS GC
  10. 大佬教你如何写出更好的CSS,分享web前端资料
  11. cannot add new member解决方法
  12. wps python 自动化_请教下 Python 高手,如何用 Python 自动化操作 Excel?
  13. 在IDEA中创建Maven项目和添加tomcat
  14. 车广告讲堂之 广告设计字体美身
  15. IAST技术进阶系列(四):DevOps流水线敏捷实践
  16. rpm安装java_【CentOS】rpm包安装Jdk
  17. 活性基因免疫靶向细胞疗法
  18. acm竞赛java很少,Java多线程在ACM竞赛中的应用
  19. 王牌战士服务器维修,王牌战士开服时间表 开服时间一览[多图]
  20. 一个线上运营着3000+人的游戏,因为我不小心一个DROP DATABASE,全没了。 怎么办??跟我HOLD住!!!...

热门文章

  1. 先来先服务算法、运行时间最短者优先算法和最高响应比优先调度算法_磁盘调度算法...
  2. 【层级多标签文本分类】MSML-BERT 模型的层级多标签文本分类方法研究
  3. NSGA-Ⅱ算法原理
  4. Linux Command hping3 测试网络安全工具
  5. CAD地形图等图案填充在视口中无法正常显示
  6. Quartus破解成功,但出现不支持某些设备的问题解决
  7. EL表达式和jstl的简单应用
  8. 百度Apollo 2.0 车辆控制算法之LQR控制算法解读
  9. 显示器 设置选项 解析
  10. multisim10.0安装教程