什么是 ZIM Audio SDK?IM 语音组件轻松实现语音消息录制和播放

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-nativeyarn 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 语音组件轻松实现语音消息录制和播放

2. 单击 “+” 添加按钮,选择Privacy - Microphone Usage Description,添加麦克风权限。

什么是 ZIM Audio SDK?IM 语音组件轻松实现语音消息录制和播放

开发者可以根据实际应用需要,设置应用所需权限。

进入 “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

(0)

相关推荐

发表回复

登录后才能评论