Skip to content

Commit 6ca3ce1

Browse files
committed
添加回音消除sdk文档
Change-Id: Ic620cdb2fd6458bb9735d3c5a737bc4feea67e5f
1 parent 031d5d6 commit 6ca3ce1

File tree

2 files changed

+140
-3
lines changed

2 files changed

+140
-3
lines changed

sdk/video-link-android/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@ implementation 'com.tencent.iot.video:video-link-android:x.x.x'
1212
具体版本号可参考 [video-link-android](TODO: sdk发布页url)
1313

1414
### SDK相关文档
15-
[VideoSDK接入说明](https://github.com/tencentyun/iot-link-android/blob/master/sdk/video-link-android/doc/VideoSDK接入说明.md)
15+
[VideoSDK接入说明](doc/VideoSDK接入说明.md)
1616

17-
[VideoSDK接口说明](https://github.com/tencentyun/iot-link-android/blob/master/sdk/video-link-android/doc/VideoSDK接口说明.md)
17+
[VideoSDK接口说明](doc/VideoSDK接口说明.md)
1818

19-
[设备配网](https://github.com/tencentyun/iot-link-android/blob/master/sdk/video-link-android/doc/设备配网.md)
19+
[设备配网](doc/设备配网.md)
20+
21+
[回音消除](doc/回音消除/回音消除SDK使用说明.md)
2022

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
### 1. 工程中集成回音消除库
2+
3+
#### 1.1 引用稳定版:
4+
5+
在应用模块的build.gradle中配置
6+
```
7+
dependencies {
8+
implementation 'com.tencent.iot.thirdparty.android:trae-voip-sdk:x.x.x'
9+
}
10+
```
11+
具体版本号可参考[版本号列表](https://search.maven.org/search?q=trae-voip-sdk)
12+
13+
#### 1.2 引用SNAPSHOT版:
14+
15+
(1). 在工程的build.gradle中配置仓库url
16+
```
17+
allprojects {
18+
repositories {
19+
google()
20+
jcenter()
21+
maven {
22+
url "https://oss.sonatype.org/content/repositories/snapshots"
23+
}
24+
}
25+
}
26+
```
27+
(2). 在应用模块的build.gradle中配置
28+
```
29+
dependencies {
30+
implementation 'com.tencent.iot.thirdparty.android:trae-voip-sdk:x.x.x-SNAPSHOT'
31+
}
32+
```
33+
34+
**注:建议使用稳定版本,SNAPSHOT版仅供开发自测使用**
35+
36+
37+
### 2. 接口使用说明
38+
39+
#### 2.1 初始化
40+
41+
##### 2.1.1 构造方法
42+
43+
public TraeVoip(Context context)
44+
45+
| 参数 | 类型 | 描述 |
46+
|:-:|:-:|:-:|
47+
| context | Context | 上下文 |
48+
49+
##### 2.1.2 初始化方法
50+
51+
public boolean initVoip(int fps, int channel, boolean isLog)
52+
53+
| 参数 | 类型 | 描述 |
54+
|:-:|:-:|:-:|
55+
| fps | int | 帧率 |
56+
| channel | int | 通道数 |
57+
| isLog | boolean | 是否打印日志 |
58+
59+
| 返回值 | 描述 |
60+
|:-:|:-:|
61+
| boolean | 是否初始化成功 |
62+
63+
##### 2.1.3 是否已经初始化
64+
65+
public boolean isVoipInit()
66+
67+
| 返回值 | 描述 |
68+
|:-:|:-:|
69+
| boolean | 是否已经初始化 |
70+
71+
#### 2.2 销毁
72+
73+
##### 2.2.1 析构方法
74+
75+
public void unInitVoip()
76+
77+
##### 2.2.2 重置AEC缓冲区
78+
79+
public void voipResetEcBuff()
80+
81+
#### 2.3 核心方法
82+
83+
##### 2.3.1 Capture方法
84+
85+
public boolean voipCapture(short[] pPcmIn0ut) //处理麦克风采集数据
86+
87+
| 参数 | 类型 | 描述 |
88+
|:-:|:-:|:-:|
89+
| pPcmIn0ut | short[] | 从麦克风采集到的音频数据 |
90+
91+
| 返回值 | 描述 |
92+
|:-:|:-:|
93+
| boolean | 处理结果成功或失败 |
94+
95+
##### 2.3.2 Render方法
96+
97+
public boolean voipRender(short[] pPcmRef) //处理扬声器将要回放的数据
98+
99+
| 参数 | 类型 | 描述 |
100+
|:-:|:-:|:-:|
101+
| pPcmRef | short[] | 扬声器即将播放的音频数据 |
102+
103+
| 返回值 | 描述 |
104+
|:-:|:-:|
105+
| boolean | 处理结果成功或失败 |
106+
107+
108+
109+
### 3. 示例代码
110+
111+
```
112+
// 初始化
113+
mVoip = new TraeVoip(getBaseContext());
114+
if (!mVoip.isVoipInit()) {
115+
if (!mVoip.initVoip(frequency, 1, true)) {
116+
Log.e("", "Voip Init failed!");
117+
}
118+
}
119+
120+
// 处理麦克风采集数据
121+
audioRecord.read(pcmInOut, 0, mVoip.getFrameSizeInShort());
122+
mVoip.voipCapture(pcmInOut);
123+
124+
// 处理扬声器将要回放的数据
125+
mVoip.voipRender(pcmOut);
126+
audioTrack.write(pcmOut, 0, mVoip.getFrameSizeInShort() * 2);
127+
128+
129+
// 销毁
130+
if (mVoip.isVoipInit()) {
131+
mVoip.voipResetEcBuff();
132+
mVoip.unInitVoip();
133+
}
134+
```
135+

0 commit comments

Comments
 (0)