添加插件。
public void addExtension(String providerName) {
mExtensionList.add(providerName);
}
该方法是 RtcEngineConfig 类的成员函数。
参数
参数名 | 参数描述 |
---|---|
providerName | 插件的 so 或 aar 文件名 |
启用/禁用插件。
public abstract int enableExtension(String provider, String extension, boolean enable);
参数
参数名 | 参数描述 | 你需要传入的值 |
---|---|---|
provider | 提供插件的服务商名称 | Unisound |
extension | 插件的名称 | ASR_EVAL |
enable | 是否启用插件 | true : 启用插件。false : 禁用插件。 |
返回值
设置插件的属性。需要在启用插件后调用。
public abstract int setExtensionProperty(String provider, String extension, String key, String value);
参数
参数名 | 参数描述 | 你需要传入的值 |
---|---|---|
provider | 提供插件的服务商名称 | Unisound |
extension | 插件的名称 | ASR_EVAL |
key | 插件属性的 Key | 详见 key-value 列表 |
value | 插件属性 Key 对应的值 | 详见 key-value 列表 |
返回值
插件事件回调。
void onEvent(String provider, String extension, String key, String value);
该回调是 IMediaExtensionObserver
类的成员。为监听插件事件,你需要注册该回调。
参数
参数名 | 参数描述 |
---|---|
provider | 提供插件的服务商名称 |
extension | 插件的名称 |
key | 插件事件的 Key,详见 key-value 列表 |
value | 插件事件 Key 对应的值,详见 key-value 列表 |
启用/禁用插件。
- (int)enableExtensionWithVendor:(NSString * __nonnull)provider extension:(NSString * __nonnull)extension enabled:(BOOL)enabled;
参数
参数名 | 参数描述 | 你需要传入的值 |
---|---|---|
provider | 提供插件的服务商名称 | Unisound |
extension | 插件的名称 | ASR_EVAL |
enabled | 是否启用插件 | YES : 启用插件。NO : 禁用插件。 |
返回值
设置插件的属性。需要在启用插件后调用。
- (int)setExtensionPropertyWithVendor:(NSString * __nonnull)provider extension:(NSString * __nonnull)extension key:(NSString * __nonnull)key value:(NSString * __nonnull)value;
参数
参数名 | 参数描述 | 你需要传入的值 |
---|---|---|
provider | 提供插件的服务商名称 | Unisound |
extension | 插件的名称 | ASR_EVAL |
key | 插件属性的 Key | 详见 key-value 列表 |
value | 插件属性 Key 对应的值 | 详见 key-value 列表 |
返回值
插件事件回调。
- (void)onEvent:(NSString * __nullable)provider
extension:(NSString * __nullable)extension
key:(NSString * __nullable)key
value:(NSString * __nullable)value;
该回调是 AgoraMediaFilterEventDelegate
类的成员。为监听插件事件,你需要注册该回调。
参数
参数名 | 参数描述 |
---|---|
provider | 提供插件的服务商名称 |
extension | 插件的名称 |
key | 插件事件的 Key,详见 key-value 列表 |
value | 插件事件 Key 对应的值,详见 key-value 列表 |
key | 描述 | value |
---|---|---|
init_eval |
初始化评测 | 包含以下参数:host :String 型,用于评测的云端地址。英文评测默认值为 wss://wss-edu.hivoice.cn:443/ws/eval/ ,中文评测默认值为 wss://wsscn-edu.hivoice.cn/ws/eval/ |
start_eval |
开始评测 | 详见下面的 start_eval 参数说明 |
stop_eval |
结束评测 | 无 |
start_eval 参数说明
当 key 为 start_eval
时,value 包含以下参数:
参数名 | 是否必填 | 描述 | 备注 |
---|---|---|---|
mode |
必填 | 可选值为 word, sent, para, qa, retell | |
displayText |
必填 | 评测文本 | |
appkey |
必填 | 秘钥信息 | 格式为 appKey@appSecret,appKey 和 appSecret 的获取详见购买和激活插件 |
userID |
可选 | 用户 id 信息 | 建议传入,排查问题方便 |
audioFormat |
必填 | 音频格式,音频 16K 单声道。可选值为 mp3, speex | |
eof |
必填 | 设置 eof 消息包内容 | 客户端需要保证该内容的唯一性,可选用uuid |
scoreCoefficient |
可选 | 值范围:0.6-1.9 | 打分系数,调整打分的松紧度,值越大打分越宽松 |
key | 描述 | value |
---|---|---|
eval_error |
错误类型 | String 型,错误信息 |
eval_result |
语音识别结果 | 详见下面的 eval_result 参数说明 |
eval_result 参数说明
当 key 为 eval_result
时,value 包含以下参数:
参数 | 含义 |
---|---|
result | 评测结果,详见下面的 result 字段说明 |
area | 返回实际评测的的机房区域 |
time | 时间戳 |
sid sessionID | 服务端返回的唯一标识 |
errorcode | 错误码 |
errmsg | 错误消息 |
result 字段说明
名称 | 类型 | 说明 |
---|---|---|
version | string | 结果格式版本及版本号 |
lines | array | 每行输入文本的评测结果 |
EvalType | string | 评测类型:general(跟读评测)、askandanswer(问答题)、composition(复述题) |
sample | string | 输入的标准文本 |
usertext | string | 用户实际朗读的文本(语音识别结果) |
subwords | array | 包含单词的音标、开始时间、结束时间、分数、音量信息 |
begin | double | 开始时间,单位为秒 |
end | double | 开始时间,单位为秒 |
volume | double | 音量 |
score | string | 分值 |
subtext | string | 音标或重音符号信息 |
integrity | double | 录入语音的完整度 |
pronunciation | double | 录入语音的标准度 |
fluency | double | 录入语音的流利度 |
words | array | 每个词的评测结果 |
text | string | 单词或音素文本 |
type | int | 类型,共有6种类型,分别是: 0 多词:仅mode=para 题型时出现,当朗读内容大于文本内容时,多余的单词type值为0;eg:文本:nice to meet you,音频:nice nice to meet you,第二个nice的type值为0; 1 漏词:所有题型都有,当朗读内容小于文本内容时,未读的单词type值为1;eg:文本:nice to meet you,音频:nice meet you,结果中to的type值为1; 2 正常词:所有模式都有,识别正常的词; 3 错误词:仅mode=para题型出现,当朗读的文本某个单词识别成文本中其他单词时,该单词type值为3。 eg:文本:nice to meet you,音频:nice you meet you,结果中第一个you的type值为3;4 静音:所有模式; 7 空格or标点:仅word和sent 题型出现,空格和标点的结构type值为7; 8 生词:所有题型 |
sentSample | array | 句式标准文本 |
sentScore | array | 句式总分 |
sentPronunciation | array | 句式标准度得分 |
sentFluency | array | 句式流利度得分 |
sentIntegrity | array | 句式完整度得分 |
keySample | array | 关键词sample(包括关键词和每个关键词的得分 |
keysScore | array | 关键词总分 |
keysPronunciation | array | 关键词标准度得分 |
keysIntegrity | array | 关键词完整度得分 |
keysFluency | array | 关键词流利度 |
standardScore | string | 客户定制,输出的分制,当前含有4分制和8分制 |
StressOfSent | string | 句子重读,每个单词都输出,0:该单词没有被重读;1:该单词被重读 |
StressOfWord | string | 单词重音,将用户发音和词典的重音位置做比较,0:该单词重音朗读错误;1:该单词重音朗读正确 |
tone | array | 输出全部信息,数据可以用于画用户的发音曲线,目前只有内部在使用 |
audiocheck | array | 音质检测结果。 volume:音量过小的置信度; clipping:截幅的置信度; noise:噪音过大的置信度; cut:截断的置信度; too short:是否音频过短; emptyAudio:是否是空音频。 备注:置信度的值为0和10,10代表可能存在该项音质问题,0代表该项检测正常 |
错误码(十进制) | 错误码(十六进制) | 错误码描述 | 原因 | 处理建议 |
---|---|---|---|---|
44850 | 0x0000AF32 | appkey 没有权限 | 没有开通权限或是账号到期 | 检查合同是否到期,并寻求技术支持 |
57345 | 0x0000E001 | 连接引擎服务失败 | 服务连接数过大 | 建议提示网络出错 |
57351 | 0x0000E007 | 传给引擎服务的用户文本过长 | 输入文本长度过大,最大支持 10000 字符 | 减少文本长度 |
57352 | 0x0000E008 | 半开放题型语法错误 | 半开放题型 json 语法错误 | 检查输入的半开放题型文本 |
8193 | 0x00002001 | 连接 n2t 服务出错 | 服务偶尔连接失败 | 建议提示网络出错 |
8195 | 0x00002003 | n2t 解析错误 | 一般半开放题型可能会出现格式不正确解析失败 | 检查半开放题型语法 |
8198 | 0x00002006 | n2t 组装结果出错,E 模式会组装结果 | 服务组装出错 | 建议提示网络出错 |
61440 | 0x0000F000 | 服务出错 | 后端服务内部未知错误 | |
61442 | 0x0000F002 | 客户端异常中止 | 录音过程客户端取消评测 | |
61443 | 0x0000F003 | 语音数据传送被中断 | 客户端发送数据超时 | 建议提示网络出错 |
65295 | 0x0000FF0F | 参数错误 | 用户传过来的 appkey 为空 | 上传 appkey |
65527 | 0x0000FFF7 | 参数错误 | 用户传过来的文本是空,或者用户文本全部由特殊字符组成 | 检查文本 |
65532 | 0x0000FFFC | 引擎服务 stop 返回错误 | 音频过短,少于 64 Byte,或是音频格式和访问地址不符合 | 检查音频和访问地址 |
65533 | 0x0000FFFD | 参数错误 | 用户传的 appkey 错误 | |
49153 | 0x0000C001 | 服务错误 | 连接转码服务出错 | 网络等原因导致连接失败 |
49155 | 0x0000C003 | 服务错误 | 转码服务转码过程中出错 | 访问的服务地址和上传的音频格式可能不符 |
700417 | 0x000AB001 | websocket 请求参数错误 | 建议检查采参数格式 | |
712705 | 0x000AE001 | websocket 写音频超时 | ||
49152 | 0x0000C000 | 音频格式为空 | 检查 audioFormat 参数 | |
978944 | 0x000EF000 | 结束符为空 | ||
712704 | 0x000AE000 | 错误的数据包格式 |