From 6ca3ce1435ee27d4569d3d17ac6be817abbc9697 Mon Sep 17 00:00:00 2001 From: archurtan Date: Tue, 18 May 2021 10:58:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9B=9E=E9=9F=B3=E6=B6=88?= =?UTF-8?q?=E9=99=A4sdk=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ic620cdb2fd6458bb9735d3c5a737bc4feea67e5f --- sdk/video-link-android/README.md | 8 +- ...77\347\224\250\350\257\264\346\230\216.md" | 135 ++++++++++++++++++ 2 files changed, 140 insertions(+), 3 deletions(-) create mode 100644 "sdk/video-link-android/doc/\345\233\236\351\237\263\346\266\210\351\231\244/\345\233\236\351\237\263\346\266\210\351\231\244SDK\344\275\277\347\224\250\350\257\264\346\230\216.md" diff --git a/sdk/video-link-android/README.md b/sdk/video-link-android/README.md index 543d9c14c..29cd40de9 100644 --- a/sdk/video-link-android/README.md +++ b/sdk/video-link-android/README.md @@ -12,9 +12,11 @@ implementation 'com.tencent.iot.video:video-link-android:x.x.x' 具体版本号可参考 [video-link-android](TODO: sdk发布页url) ### SDK相关文档 -[VideoSDK接入说明](https://github.com/tencentyun/iot-link-android/blob/master/sdk/video-link-android/doc/VideoSDK接入说明.md) +[VideoSDK接入说明](doc/VideoSDK接入说明.md) -[VideoSDK接口说明](https://github.com/tencentyun/iot-link-android/blob/master/sdk/video-link-android/doc/VideoSDK接口说明.md) +[VideoSDK接口说明](doc/VideoSDK接口说明.md) -[设备配网](https://github.com/tencentyun/iot-link-android/blob/master/sdk/video-link-android/doc/设备配网.md) +[设备配网](doc/设备配网.md) + +[回音消除](doc/回音消除/回音消除SDK使用说明.md) diff --git "a/sdk/video-link-android/doc/\345\233\236\351\237\263\346\266\210\351\231\244/\345\233\236\351\237\263\346\266\210\351\231\244SDK\344\275\277\347\224\250\350\257\264\346\230\216.md" "b/sdk/video-link-android/doc/\345\233\236\351\237\263\346\266\210\351\231\244/\345\233\236\351\237\263\346\266\210\351\231\244SDK\344\275\277\347\224\250\350\257\264\346\230\216.md" new file mode 100644 index 000000000..ad00ae1e8 --- /dev/null +++ "b/sdk/video-link-android/doc/\345\233\236\351\237\263\346\266\210\351\231\244/\345\233\236\351\237\263\346\266\210\351\231\244SDK\344\275\277\347\224\250\350\257\264\346\230\216.md" @@ -0,0 +1,135 @@ +### 1. 工程中集成回音消除库 + +#### 1.1 引用稳定版: + +在应用模块的build.gradle中配置 +``` +dependencies { + implementation 'com.tencent.iot.thirdparty.android:trae-voip-sdk:x.x.x' +} +``` +具体版本号可参考[版本号列表](https://search.maven.org/search?q=trae-voip-sdk) + +#### 1.2 引用SNAPSHOT版: + +(1). 在工程的build.gradle中配置仓库url +``` +allprojects { + repositories { + google() + jcenter() + maven { + url "https://oss.sonatype.org/content/repositories/snapshots" + } + } +} +``` +(2). 在应用模块的build.gradle中配置 +``` +dependencies { + implementation 'com.tencent.iot.thirdparty.android:trae-voip-sdk:x.x.x-SNAPSHOT' +} +``` + +**注:建议使用稳定版本,SNAPSHOT版仅供开发自测使用** + + +### 2. 接口使用说明 + +#### 2.1 初始化 + +##### 2.1.1 构造方法 + +public TraeVoip(Context context) + +| 参数 | 类型 | 描述 | +|:-:|:-:|:-:| +| context | Context | 上下文 | + +##### 2.1.2 初始化方法 + +public boolean initVoip(int fps, int channel, boolean isLog) + +| 参数 | 类型 | 描述 | +|:-:|:-:|:-:| +| fps | int | 帧率 | +| channel | int | 通道数 | +| isLog | boolean | 是否打印日志 | + +| 返回值 | 描述 | +|:-:|:-:| +| boolean | 是否初始化成功 | + +##### 2.1.3 是否已经初始化 + +public boolean isVoipInit() + +| 返回值 | 描述 | +|:-:|:-:| +| boolean | 是否已经初始化 | + +#### 2.2 销毁 + +##### 2.2.1 析构方法 + +public void unInitVoip() + +##### 2.2.2 重置AEC缓冲区 + +public void voipResetEcBuff() + +#### 2.3 核心方法 + +##### 2.3.1 Capture方法 + +public boolean voipCapture(short[] pPcmIn0ut) //处理麦克风采集数据 + +| 参数 | 类型 | 描述 | +|:-:|:-:|:-:| +| pPcmIn0ut | short[] | 从麦克风采集到的音频数据 | + +| 返回值 | 描述 | +|:-:|:-:| +| boolean | 处理结果成功或失败 | + +##### 2.3.2 Render方法 + +public boolean voipRender(short[] pPcmRef) //处理扬声器将要回放的数据 + +| 参数 | 类型 | 描述 | +|:-:|:-:|:-:| +| pPcmRef | short[] | 扬声器即将播放的音频数据 | + +| 返回值 | 描述 | +|:-:|:-:| +| boolean | 处理结果成功或失败 | + + + +### 3. 示例代码 + +``` +// 初始化 +mVoip = new TraeVoip(getBaseContext()); +if (!mVoip.isVoipInit()) { + if (!mVoip.initVoip(frequency, 1, true)) { + Log.e("", "Voip Init failed!"); + } +} + +// 处理麦克风采集数据 +audioRecord.read(pcmInOut, 0, mVoip.getFrameSizeInShort()); +mVoip.voipCapture(pcmInOut); + +// 处理扬声器将要回放的数据 +mVoip.voipRender(pcmOut); +audioTrack.write(pcmOut, 0, mVoip.getFrameSizeInShort() * 2); + + +// 销毁 +if (mVoip.isVoipInit()) { + mVoip.voipResetEcBuff(); + mVoip.unInitVoip(); +} +``` +