-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME.md
91 lines (60 loc) · 2.83 KB
/
README.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# VoiceChange-Andorid
采用Android studio 3.1.4开发,使用fmod库实现变声技巧
## 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)
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11"
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<br>
2.init初始化<br>
3.createSound创建一个声音<br>
4.playSound播放声音<br>
5.system->update();执行后声音才能播放出去。<br>
第四步->第五步之间可以添加一些声音的特殊处理。