使用云上曲率多语种审核插件
本文介绍如何在你的项目中集成和使用云上曲率多语种审核插件(以下简称云上曲率审核插件)。
技术原理
云上曲率审核插件是对云上曲率实时音频审核和实时视频审核核心 API 的封装。通过声网 SDK v4.x 提供的 setExtensionProperty
方法,传入指定的 key
和 value
参数,你可以快速集成云上曲率的多语种审核能力。
setExtensionProperty
方法的 key
参数与云上曲率的 API 名称完全对应,value
参数以 JSON 格式包装该 API 的部分或全部参数。因此,调用该方法时只要传入指定的 key
和 value
,就可以调用对应的云上曲率 API,实现多语种审核的有关功能。
前提条件
Android 开发环境需满足以下要求:
- Android Studio 以上版本。
- 运行 Android 或以上版本的真机(非模拟器)。
示例项目
云上曲率审核插件提供了一个 GitHub 示例项目,你可以前往克隆或下载并进行体验。
平台 | 语言 | 示例项目 |
---|---|---|
Android | Java | 项目示例 |
iOS | Objective-C | 项目示例 |
参考以下运行步骤:
-
克隆仓库:
Shellgit clone https://github.com/highras/rtau-agora-marketplace.git
-
在 Android Studio 中打开示例项目
Android/RTVTRTAUFilter
。 -
将项目与 Gradle 文件同步。
-
打开
app/src/main/res/values/string_configs.xml
文件,进行如下修改: -
连接一台 Android 真机(非模拟器),运行项目。运行成功后,示例项目会安装到你的 Android 设备上。
-
启动 App,在界面上输入你在生成声网 Token 时使用的频道名。
-
点击加入频道按钮加入频道。
-
加入成功后,点击开始审核按钮。如果有违规内容,你填入的回调地址会接收到审核结果。
-
点击结束审核结束实时音视频审核。
集成和调用流程
1. 集成 SDK 和插件
1.1 集成声网视频 SDK
云上曲率审核插件插件需要与 RTC SDK 搭配使用。参考以下文档集成 RTC SDK 并实现基础的音视频互动:
该插件支持声网 SDK v4.2.0 或以上版本。
1.2 购买和激活插件
在声网控制台购买和激活云上曲率审核插件,保存好获取到的 appKey
和 appSecret
,后续初始化插件时需要用到。
1.3 集成插件
参考如下步骤在你的项目中集成云上曲率审核插件:
-
进入声网控制台 > 云市场页面,下载云上曲率多语种审核插件的 Android 插件包。解压后,将
libagora-iLiveData-filter.aar
文件保存到项目文件夹的/app/libs
路径。 -
打开
app/build.gradle
文件,在dependencies
中添加如下行:Javaimplementation fileTree(dir: "libs", include: ["*.jar", "*.aar"])
2. 启用插件
云上曲率审核插件包括 RTVT 和 RTAU 两个功能模块,你可以根据业务场景按需启用:
业务场景 | RTVT | RTAU |
---|---|---|
识别翻译 | 启用 | 不启用 |
纯视频审核 | 不启用 | 启用 |
纯音频审核 | 启用 | 启用 |
音频+视频审核 | 启用 | 启用 |
初始化声网 RtcEngine
时,调用 addExtension
加载插件,然后调用 enableExtension
启用插件。
RtcEngineConfig config = new RtcEngineConfig();
config.addExtension("agora-iLiveData-filter");
engine = RtcEngine.create(config);
// 启用 RTAU
engine.enableExtension("iLiveData", "RTAU", true);
// 启用 RTVT
engine.enableExtension("iLiveData", "RTVT", true);
2. 开始审核
调用 setExtensionProperty
指定 key
为 startAudit
,在 value
中以 JSON 格式传入appkey
、appsecret
等参数。插件会根据RTVT 和 RTAU 模块的启用情况以及你传入的媒体数据自行判断业务场景,开始审核。
JSONObject jsonObject = new JSONObject();
// 传入在声网控制台购买和激活插件后获取的 appKey
jsonObject.put("appKey", "appKey");
// 传入在声网控制台购买和激活插件后获取的 appSecret
jsonObject.put("appSecret", "appSecret");
// 传入音频流或视频流的 ID(需要你自行生成和维护)
jsonObject.put("streamId", "streamId");
// 传入音频流或视频流的语言(不传将自动识别)
jsonObject.put("audioLang", "zh-CN");
// 传入你的回调地址
jsonObject.put("callbackUrl", "");
// 只需要在 RTAU 模块调用 startAudit
engine.setExtensionProperty("iLiveData", "RTAU", "startAudit", jsonObject.toString());
3. 接收审核结果
审核结果会以 HTTP 请求的形式直接发送到你通过 callbackUrl
设置的地址。默认情况下,只有在检测到违规内容(包括音频和视频)时,才会回调审核结果。审核结果的回调参数解释参考图片审核接口说明、音频审核接口说明。
4. 结束使用插件
调用 setExtensionProperty
方法并指定 key
为 closeAudit
来结束云上曲率审核插件的使用。
engine.setExtensionProperty("iLiveData", "RTAU", "closeAudit", "{}");