本文介绍如何在你的项目中集成和使用云上曲率实时音视频审核插件(以下简称实时音视频审核插件),包括Android和iOS平台。
实时音视频审核插件是对云上曲率实时音频审核和实时视频审核核心 API 的封装。通过调用声网视频 SDK v4.0.0 Beta 的 setExtensionProperty 或 setExtensionPropertyWithVendor方法,传入指定的 key
和 value
参数,你可以快速集成云上曲率的实时语音识别和翻译的能力。支持的 key 和 value 详见[插件的 key-value 列表]()。
- Android 开发环境需满足以下要求:
- Android Studio 4.1 以上版本。
- 运行 Android 5.0 或以上版本的真机(非模拟器)。
- iOS 开发环境需满足以下要求:
- Xcode 9.0 或以上版本。
- 运行 iOS 9.0 或以上版本的真机(非模拟器)。
实时音视频审核插件需要与声网视频 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
本节介绍插件相关接口的调用流程。接口的参数解释详见接口说明。
Android
初始化声网 AgoraRtcEngine
时,调用 enableExtension
启用插件。
RtcEngineConfig config = new RtcEngineConfig();
config.addExtension("agora-iLiveData-filter");
engine = RtcEngine.create(config);
engine.enableExtension("iLiveData", "RTAU", true);
iOS
初始化声网 AgoraRtcEngineKit
时,调用 enableExtensionWithVendor
启用插件。
// 启用RTAU插件
[_agoraKit enableExtensionWithVendor:[iLiveDataSimpleFilterManager companyName]
extension:[iLiveDataSimpleFilterManager rtau_plugName]
enabled:YES];
Android
调用setExtensionProperty
指定key 为 startAudit
在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", "startAudit", jsonObject.toString());
iOS
调用setExtensionPropertyWithVendor
指定 key 为 startAudit
在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 companyName]
extension:[iLiveDataSimpleFilterManager rtau_plugName])
key:@"startAudit"
value:auditDicJsonString];
Android
调用 setExtensionProperty
方法并指定 key 为 closeAudit
来结束实时音视频审核插件的使用。
engine.setExtensionProperty("iLiveData", "RTAU", "closeAudit", "{}");
iOS
调用 setExtensionPropertyWithVendor
方法并指定 key 为 closeAudit
来结束实时音视频审核插件的使用。
[self.kit setExtensionPropertyWithVendor:[iLiveDataSimpleFilterManager companyName]
extension:[iLiveDataSimpleFilterManager rtau_plugName]
key:"closeAudit"
value:""];
平台 | 语言 | 示例项目 |
---|---|---|
Android | Java | 项目示例 |
iOS | Objective-C | 项目示例 |
Android
- 克隆仓库:
git clone (https://github.com/highras/rtvt-agora-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 真机(非模拟器),运行项目。 输入频道号 点击“加入频道” 加入成功后 点击"开始审核" 回调的url地址可以看到审核结果
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
结束实时音视频审核。
插件所有相关接口的参数解释详见(接口说明)。