使用方法
更新时间:
本文介绍如何在使用 声网RTC 的项目中集成和使用云上曲率实时音视频审核插件(以下简称实时音视频审核插件),进行实时音视频审核,包括Android和iOS平台。
技术原理
实时音视频审核插件是对云上曲率实时音频审核和实时视频审核核心 API 的封装。通过调用声网视频 SDK 的 setExtensionProperty 或 setExtensionPropertyWithVendor方法,传入指定的 key 和 value 参数,你可以快速集成云上曲率的实时语音识别和翻译的能力。支持的 key 和 value 详见接口说明。
前提条件
- Android 开发环境需满足以下要求:
- Android Studio 4.1 以上版本。
- 运行 Android 5.0 或以上版本的真机(非模拟器)。
- iOS 开发环境需满足以下要求:
- Xcode 9.0 或以上版本。
- 运行 iOS 12.0 或以上版本的真机(非模拟器)。
准备工作
使用声网 SDK 实现视频通话
实时音视频审核插件需要与声网视频 SDK v4.0.0 Beta 搭配使用。参考以下文档集成视频 SDK v4.0.0 Beta 并实现基础的视频通话:
购买和激活插件
在声网控制台购买和激活实时音视频审核插件,保存好获取到的 appKey 和 appSecret,后续初始化插件时需要用到。
集成插件
参考如下步骤在你的项目中集成实时音视频审核插件:
- Android
-
在声网云市场下载页面下载实时音视频审核插件的 Android 插件包。解压后,将所有 libagora-iLiveData-filter.aar 文件保存到项目文件夹的 /app/libs 路径。
-
打开 app/build.gradle 文件,在 dependencies 中添加如下行:
implementation fileTree(dir: "libs", include: ["*.jar", "*.aar"])
- iOS
- 在声网云市场下载页面下载实时音视频审核插件的 iOS 插件包。解压后,将所有
.framework 库文件保存到你的项目文件夹下。
- 在 Xcode 中添加动态库,确保 Embed 属性设置为 Embed & Sign。
以如下项目结构为例,你可以把库文件保存到 <ProjectName> 路径下。
├── <ProjectName>
├── <ProjectName>.xcodeproj
调用流程
本节介绍插件相关接口的调用流程。接口的参数解释详见接口说明。
注意:
- 如果要使用音频审核,需要调用
enableExtension或enableExtensionWithVendor时,启用插件rtvt和rtau_pre ,之后使用startAudit_pre进行音频数据的审核。
- 如果要使用视频(图片)审核,需要调用
enableExtension或enableExtensionWithVendor时,启用插件rtau_pre ,之后使用startAudit_pre进行视频(图片)数据的审核。
- 如果要使用音频+视频(图片)审核,需要调用
enableExtension或enableExtensionWithVendor时,启用插件rtvt和rtau_pre ,之后使用startAudit_pre进行音频数据和视频(图片)数据的审核。
1. 启用插件
- Android
初始化声网 AgoraRtcEngine 时,调用 enableExtension 启用插件。
RtcEngineConfig config = new RtcEngineConfig();
config.addExtension("agora-iLiveData-filter-pre");
engine = RtcEngine.create(config);
engine.enableExtension("iLiveData", "RTAU_PRE", true);
- iOS
初始化声网 AgoraRtcEngineKit 时,调用 enableExtensionWithVendor 启用插件。
[_agoraKit enableExtensionWithVendor:[iLiveDataSimpleFilterManager_pre companyName]
extension:[iLiveDataSimpleFilterManager_pre rtau_pre_plugName]
enabled:YES];
2. 使用插件
- Android
调用setExtensionProperty 指定key 为 startAudit_pre 在value中以json格式传入appkey appsecret等参数。
JSONObject jsonObject = new JSONObject();
jsonObject.put("appKey", "appKey");
jsonObject.put("appSecret", "appSecret");
jsonObject.put("streamId", "streamId");
jsonObject.put("audioLang", "zh-CN");
jsonObject.put("callbackUrl", "");
engine.setExtensionProperty("iLiveData", "RTAU_PRE", "startAudit_pre", jsonObject.toString());
- iOS
调用setExtensionPropertyWithVendor指定 key 为 startAudit_pre 在value中以json格式传入appkey appsecret等参数。
NSDictionary * auditDic = @{
@"appKey":@"appKey",
@"appSecret":@"appSecret",
@"streamId":@"streamId",
@"audioLang":@"zh-CN",
@"callbackUrl":@"callbackUrl"
};
NSData * auditDicJsonData = [NSJSONSerialization dataWithJSONObject:auditDic options:NSJSONWritingPrettyPrinted error:nil];
NSString * auditDicJsonString = [[NSString alloc] initWithData:auditDicJsonData encoding:NSUTF8StringEncoding];
[_agoraKit setExtensionPropertyWithVendor:[iLiveDataSimpleFilterManager_pre companyName]
extension:[iLiveDataSimpleFilterManager_pre rtau_pre_plugName])
key:@"startAudit_pre"
value:auditDicJsonString];
3. 结束使用插件
- Android
调用 setExtensionProperty方法并指定 key 为 closeAudit_pre 来结束实时音视频审核插件的使用。
engine.setExtensionProperty("iLiveData", "RTAU_PRE", "closeAudit_pre", "{}");
- iOS
调用 setExtensionPropertyWithVendor方法并指定 key 为 closeAudit_pre 来结束实时音视频审核插件的使用。
[self.kit setExtensionPropertyWithVendor:[iLiveDataSimpleFilterManager_pre companyName]
extension:[iLiveDataSimpleFilterManager_pre rtau_pre_plugName]
key:"closeAudit_pre"
value:""];
示例项目
平台
语言
示例项目
Android
Java
项目示例
iOS
Objective-C
项目示例
运行步骤
Android
- 克隆仓库:
git clone (https://github.com/highras/rtau-shengwang-marketplace)
- 将项目的\app\src\main\res\values\string_configs.xml 文件中的"agora_app_id" 和"agora_access_token"替换成你自己声网的appid和apptoken 获取 App ID 请参考开始使用 Agora 平台; 将"livedata_audit_pid" 和 “livedata_audit_key"替换成云上曲率项目id和key 获取方式详见购买和激活插件。将"livedata_callbackUrl” 填入审核结果地址
- 连接一台 Android 真机(非模拟器),运行项目。
iOS
- 从声网云市场下载页面下载实时音视频审核插件的 iOS 插件包并解压。
- 在 Xcode 中打开项目。
- 打开
ViewController,进行如下修改:
- 将 agora_appId 替换为你的 App ID。获取 App ID 请参考开始使用 Agora 平台。
- 将 appKey 和 appSecret 分别替换为你的
appKey 和 appSecret。获取方式详见购买和激活插件。 将"callbackUrl"替换成你的审核结果地址
NSString *const appID = @"<YOUR_APP_ID>";
NSString *const appkey = @"<YOUR_APP_KEY>";
NSString *const secret = @"<YOUR_SECRET>";
- 连接一台 iOS 真机(非模拟器),运行项目。
预期效果
运行成功后,示例项目会安装到你的 Android 或 iOS 设备上。
- 启动 app,你可以在界面上看到
add room 和 Start RTAU 按钮
- 点击
add room 进入房间。
- 点击
Start RTAU 开始实时音视频审核。
- 点击
End Audit 结束实时音视频审核。
接口说明
插件所有相关接口的参数解释详见接口说明。
本文介绍如何在使用 声网RTC 的项目中集成和使用云上曲率实时音视频审核插件(以下简称实时音视频审核插件),进行实时音视频审核,包括Android和iOS平台。
技术原理
实时音视频审核插件是对云上曲率实时音频审核和实时视频审核核心 API 的封装。通过调用声网视频 SDK 的 setExtensionProperty 或 setExtensionPropertyWithVendor方法,传入指定的 key 和 value 参数,你可以快速集成云上曲率的实时语音识别和翻译的能力。支持的 key 和 value 详见接口说明。
前提条件
- Android 开发环境需满足以下要求:
- Android Studio 4.1 以上版本。
- 运行 Android 5.0 或以上版本的真机(非模拟器)。
- iOS 开发环境需满足以下要求:
- Xcode 9.0 或以上版本。
- 运行 iOS 12.0 或以上版本的真机(非模拟器)。
准备工作
使用声网 SDK 实现视频通话
实时音视频审核插件需要与声网视频 SDK v4.0.0 Beta 搭配使用。参考以下文档集成视频 SDK v4.0.0 Beta 并实现基础的视频通话:
购买和激活插件
在声网控制台购买和激活实时音视频审核插件,保存好获取到的 appKey 和 appSecret,后续初始化插件时需要用到。
集成插件
参考如下步骤在你的项目中集成实时音视频审核插件:
- Android
-
在声网云市场下载页面下载实时音视频审核插件的
Android插件包。解压后,将所有libagora-iLiveData-filter.aar文件保存到项目文件夹的/app/libs路径。 -
打开
app/build.gradle文件,在dependencies中添加如下行:implementation fileTree(dir: "libs", include: ["*.jar", "*.aar"])
- iOS
- 在声网云市场下载页面下载实时音视频审核插件的 iOS 插件包。解压后,将所有
.framework库文件保存到你的项目文件夹下。 - 在 Xcode 中添加动态库,确保 Embed 属性设置为 Embed & Sign。
以如下项目结构为例,你可以把库文件保存到 <ProjectName> 路径下。
├── <ProjectName>
├── <ProjectName>.xcodeproj
调用流程
本节介绍插件相关接口的调用流程。接口的参数解释详见接口说明。
注意:
- 如果要使用音频审核,需要调用
enableExtension或enableExtensionWithVendor时,启用插件rtvt和rtau_pre,之后使用startAudit_pre进行音频数据的审核。 - 如果要使用视频(图片)审核,需要调用
enableExtension或enableExtensionWithVendor时,启用插件rtau_pre,之后使用startAudit_pre进行视频(图片)数据的审核。 - 如果要使用音频+视频(图片)审核,需要调用
enableExtension或enableExtensionWithVendor时,启用插件rtvt和rtau_pre,之后使用startAudit_pre进行音频数据和视频(图片)数据的审核。
1. 启用插件
- Android
初始化声网 AgoraRtcEngine 时,调用 enableExtension 启用插件。
RtcEngineConfig config = new RtcEngineConfig();
config.addExtension("agora-iLiveData-filter-pre");
engine = RtcEngine.create(config);
engine.enableExtension("iLiveData", "RTAU_PRE", true);
- iOS
初始化声网 AgoraRtcEngineKit 时,调用 enableExtensionWithVendor 启用插件。
[_agoraKit enableExtensionWithVendor:[iLiveDataSimpleFilterManager_pre companyName]
extension:[iLiveDataSimpleFilterManager_pre rtau_pre_plugName]
enabled:YES];
2. 使用插件
- Android
调用setExtensionProperty 指定key 为 startAudit_pre 在value中以json格式传入appkey appsecret等参数。
JSONObject jsonObject = new JSONObject();
jsonObject.put("appKey", "appKey");
jsonObject.put("appSecret", "appSecret");
jsonObject.put("streamId", "streamId");
jsonObject.put("audioLang", "zh-CN");
jsonObject.put("callbackUrl", "");
engine.setExtensionProperty("iLiveData", "RTAU_PRE", "startAudit_pre", jsonObject.toString());
- iOS
调用setExtensionPropertyWithVendor指定 key 为 startAudit_pre 在value中以json格式传入appkey appsecret等参数。
NSDictionary * auditDic = @{
@"appKey":@"appKey",
@"appSecret":@"appSecret",
@"streamId":@"streamId",
@"audioLang":@"zh-CN",
@"callbackUrl":@"callbackUrl"
};
NSData * auditDicJsonData = [NSJSONSerialization dataWithJSONObject:auditDic options:NSJSONWritingPrettyPrinted error:nil];
NSString * auditDicJsonString = [[NSString alloc] initWithData:auditDicJsonData encoding:NSUTF8StringEncoding];
[_agoraKit setExtensionPropertyWithVendor:[iLiveDataSimpleFilterManager_pre companyName]
extension:[iLiveDataSimpleFilterManager_pre rtau_pre_plugName])
key:@"startAudit_pre"
value:auditDicJsonString];
3. 结束使用插件
- Android
调用 setExtensionProperty方法并指定 key 为 closeAudit_pre 来结束实时音视频审核插件的使用。
engine.setExtensionProperty("iLiveData", "RTAU_PRE", "closeAudit_pre", "{}");
- iOS
调用 setExtensionPropertyWithVendor方法并指定 key 为 closeAudit_pre 来结束实时音视频审核插件的使用。
[self.kit setExtensionPropertyWithVendor:[iLiveDataSimpleFilterManager_pre companyName]
extension:[iLiveDataSimpleFilterManager_pre rtau_pre_plugName]
key:"closeAudit_pre"
value:""];
示例项目
| 平台 | 语言 | 示例项目 |
|---|---|---|
| Android | Java | 项目示例 |
| iOS | Objective-C | 项目示例 |
运行步骤
Android
- 克隆仓库:
git clone (https://github.com/highras/rtau-shengwang-marketplace)
- 将项目的\app\src\main\res\values\string_configs.xml 文件中的"agora_app_id" 和"agora_access_token"替换成你自己声网的appid和apptoken 获取 App ID 请参考开始使用 Agora 平台; 将"livedata_audit_pid" 和 “livedata_audit_key"替换成云上曲率项目id和key 获取方式详见购买和激活插件。将"livedata_callbackUrl” 填入审核结果地址
- 连接一台 Android 真机(非模拟器),运行项目。
iOS
- 从声网云市场下载页面下载实时音视频审核插件的 iOS 插件包并解压。
- 在 Xcode 中打开项目。
- 打开
ViewController,进行如下修改:- 将 agora_appId 替换为你的 App ID。获取 App ID 请参考开始使用 Agora 平台。
- 将 appKey 和 appSecret 分别替换为你的
appKey和appSecret。获取方式详见购买和激活插件。 将"callbackUrl"替换成你的审核结果地址
NSString *const appID = @"<YOUR_APP_ID>";
NSString *const appkey = @"<YOUR_APP_KEY>";
NSString *const secret = @"<YOUR_SECRET>";
- 连接一台 iOS 真机(非模拟器),运行项目。
预期效果
运行成功后,示例项目会安装到你的 Android 或 iOS 设备上。
- 启动 app,你可以在界面上看到
add room和Start RTAU按钮 - 点击
add room进入房间。 - 点击
Start RTAU开始实时音视频审核。 - 点击
End Audit结束实时音视频审核。
接口说明
插件所有相关接口的参数解释详见接口说明。