ZIM Audio SDK 是即构自研的即时通讯语音组件,它具备完整语音处理功能,包括语音采集、播放、解码、噪声抑制(ANS)、自动增益控制(AGC)等,开发可以轻松实现高清语音消息的收发,无需关注音频处理的底层实现。
ZIM Audio SDK 功能介绍
语音录制
支持控制语音的录制、完成、取消操作,并通过相关事件获取当前的录制状态。同时录制的语音文件将会存放于您提供的文件路径中。
语音播放
支持开始、停止语音播放。
声音增益控制和噪声抑制
支持动态调整音频输入的增益,以及开启噪声抑制功能,提升语音录制的质量。
适用场景
发送语音消息
您可在发送语音消息时,通过 ZEGO Audio SDK 来进行语音消息录制、播放。并将录制的语音文件通过发送富媒体消息的方式,发送给其他用户。
如何集成 ZIM Audio SDK
7月1日,即构刚好发布 ZIM Audio SDK 的 React Native 版本,本文以 React Native 框架为例,介绍如何集成 ZIM Audio SDK。(注:ZIM Audio SDK 目前支持 iOS、Android、Flutte等平台)
前提条件
在集成 ZIM Audio SDK 之前,请确保
- 开发环境满足以下要求:
- React Native 0.60.0 或以上版本。
- iOS 12.0 或以上版本的 iOS 设备或模拟器(推荐使用真机)。
- Android 4.4 或以上版本的 Android 的真机设备,请开启“允许调试”选项。
- iOS / Android 设备已经连接到 Internet。
- 配置 VS Code 开发环境,可在应用商店中搜索 “React Native Tools” 扩展并下载。
- 已在 ZEGO 控制台 创建项目,获取到了接入 ZIM SDK 服务所需的 AppID、AppSign。ZIM 服务权限不是默认开启的,使用前,请先在 ZEGO 控制台自助开通 ZIM 服务(详情请参考控制台的 服务配置 – 即时通讯 – 开通服务),若无法开通 ZIM 服务,请联系 ZEGO 技术支持开通。
- 已集成 ZIM SDK,详情请参考 快速开始 – 实现基本收发消息 的 “2 集成 SDK”。
导入 SDK
开发者可以使用 npm 获取 SDK。
1. 执行 npm i zego-zim-audio-react-native
或 yarn add zego-zim-audio-react-native
命令安装依赖。
2. 导入 SDK。
import ZIMAudio from 'zego-zim-audio-react-native';
设置权限
使用 ZIM Audio SDK 前,请设置麦克风权限,以实现采集语音。
1、在 Xcode 中,选择 “TARGETS > Info > Custom iOS Target Properties” 菜单。
![什么是 ZIM Audio SDK?IM 语音组件轻松实现语音消息录制和播放](https://www.nxrte.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
2. 单击 “+” 添加按钮,选择Privacy - Microphone Usage Description
,添加麦克风权限。
![什么是 ZIM Audio SDK?IM 语音组件轻松实现语音消息录制和播放](https://www.nxrte.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
开发者可以根据实际应用需要,设置应用所需权限。
进入 “app/src/main” 目录,打开 “AndroidManifest.xml” 文件,添加权限。
<!-- SDK 必须使用的权限 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
注意:由于 Android 6.0 及以上版本在一些比较重要的权限上要求必须申请动态权限,不能只通过 “AndroidMainfest.xml” 文件申请静态权限。因此还需要参考执行如下代码,其中 “requestPermissions” 是 “Activity” 的方法。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) !=
PackageManager.PERMISSION_GRANTED) {
String[] permissions = {Manifest.permission.RECORD_AUDIO};
requestPermissions(permissions, PERMISSION_REQUEST_CODE);
}
}
具体的权限说明如下:
必要性 | 权限 | 权限说明 | 申请原因 |
---|---|---|---|
必要权限 | RECORD_AUDIO | 录制音频权限。 | 发送音频时需要使用该权限。 |
防止混淆
如果您使用 React Native 框架开发 Android 应用,还需要在 “proguard-rules.pro” 文件中,为 SDK 添加 -keep 类的配置,防止混淆 SDK 公共类名称。
-keep class **.zego.**{*;}
集成 ZIM Audio SDK 后,即可快速实现基本的语音消息发送与接收功能。具体实现方式可参考文档:https://doc-zh.zego.im/article/20760
本文为原创稿件,版权归作者所有,如需转载,请注明出处:https://www.nxrte.com/jishu/im/50093.html