中英文评测
功能说明:iFLYHOME OS 提供对用户发音进行评测的功能,支持中文和英文评测,支持对单词、句子和段落等形式,并将评测结果提供给合作伙伴。同时也提供了评测过程中的录音状态。 参考:产品白皮书
使用说明:集成方在申请开放该能力后,在需要使用时激活或者申请语音评测的能力,并配置评测的参数和评测的内容,当触发语音识别后,会将评测状态以及评测结果回调给集成方。
在使用时也支持一些自定义的配置,具体见接口或者协议说明。
安卓原生
通过如下方法获取能力接口
XiriOPManager.getInstance().getEvaMgr();
主要此处返回值可能为Null, 原因: SDK未初始化
api 如下:
public interface IEvaluation {
/**
* 激活评测能力
* @param keyWords 测评文字
* @param params 测评参数
* @param callback 回调
*/
int active(String keyWords, String params, IEvaCallback callback);
/**
* 激活评测能力
* @param keyWords 测评文字
* @param params 测评参数
* @param xmlResult 是否透传原始 xml结果
* @param callback 回调
*/
@ApiLevel(1)
int active(String keyWords, String params,boolean xmlResult, IEvaCallback callback);
/**
* 更新测评文本
* @param keyWords 测评文本
*/
int update(String keyWords);
/**
* 关闭评测能力
*/
int invalid();
/**
* 创建评测引擎(仅在需要定制serverUrl时需要)
* @param serverUrl
* @param proxy
* @return
*/
@ApiLevel(1)
int create(String serverUrl,String proxy);
/**
* 销毁评测引擎(和 创建配套使用)
* @return
*/
@ApiLevel(1)
int destroy();
}
说明:
IEvaluation.active()
方法中,参数params参考本章节 评测说明
重载方法参数 xmlResult 建议传false, 传true则透传原始xml结果,数据量比较大
测试结果通过接口 IEvaCallback
方法onEvaluationResult
回调,回调结果为json格式字符串。
示例:
// 激活测评
IEvaluation eva = XiriOPManager.getInstance().getEvaMgr();
if (eva == null) {
return;
}
// 英语词语测评
eva.active("Hello Word", EvaParamsHelper.createParams(LanguageType.ENGLISH_US, CategoryType.READ_WORD, ResultLevel.PLAIN), new IEvaCallback() {
@Override
public void onStart() {
showResult("测评onStart:");
}
@Override
public void onWrite(int volume) {
showResult("测评onWrite:" + volume);
}
@Override
public void onStop() {
showResult("测评onStop:");
}
@Override
public void onEvaluationResult(final String json, String xml) {
showResult("测评结果:" + json);
}
});
// (可选) 定制评测服务地址 必须在激活前使用,否则无效
IEvaluation eva4 = XiriOPManager.getInstance().getEvaMgr();
if (eva4 != null) {
eva4.create("http://xxx.xf-yun.com/msp.do", "");
}
// (可选) 销毁评测引擎
IEvaluation eva5 = XiriOPManager.getInstance().getEvaMgr();
if (eva5 != null) {
eva5.destroy();
}
应用内嵌Web
功能说明:开放评测能力给第三方
使用流程:
1. 注册评测结果监听
native_call_H5('h5_send_ise_result',function(data,responseCallback){
var iseStatus = data.iseStatus;
var volume = data.volume;
var iseResult = data.iseResult;
var errorCode = data.errorCode;
var errorMsg = data.errorMsg;
})
评测结果参考:评测说明
2. 申请评测能力,携带评测参数
var params = "language=en_us,category=read_word,result_level=complete";
H5_call_native('native_open_ise',{"appid":"xxx","token":"xxxxx","params":params},function(res){})
评测参数参考:评测说明
3. 设置当前需要评测的文本
H5_call_native('native_set_ise_text',{"iseText":iseText,"appid":"xxx","token":"xxxxx"},function(res){})
4. 关闭当前开放评测能力(在页面关闭的时候,或者不使用的时候关闭)
H5_call_native('native_close_ise',{"appid":"xxx","token":"xxxxx"},function(res){})
应用外Web
1. 注册回调数据监听,创建listener对象
function callback(data) {
//对应数据格式
var data = JSON.stringify(data);
}
var listener = new Xiri.Listener(callback);
2. 开启轮询数据获取
listener.getCmd("open_xiri");
3. 申请能力
listener.openFeatureFunc("{\"name\":\"native_open_ise\",\"params\":\"{\\\"appid\\\": \\\"xxx\\\",\\\"token\\\":\\\"11111\\\",\\\"params\\\":\\\"language=zh_cn,category=read_word,result_level=plain\\\"}\"}");
评测参数(params)参考:评测说明
4. 设置当前需要评测的文本
listener.openFeatureFunc("{\"name\":\"native_set_ise_text\",\"params\":\"{\\\"appid\\\": \\\"xxx\\\",\\\"token\\\": \\\"11111\\\",\\\"iesText\\\": \\\"需要评测的文本\\\"}\"}");
5. 收到回调数据结果
回调数据data为Json格式:
var jsData = data.data;
var name = jsData.name;
var params = JSON.parse(jsData.params);
//评测结果
var iseResult= params.iseResult;
//其他字段参照协议
评测结果参考:评测说明
- 关闭能力
listener.openFeatureFunc("{\"name\":\"native_close_ise\",\"params\":\"{\\\"appid\\\": \\\"xxx\\\",\\\"token\\\": \\\"11111\\\"}");
评测说明
参数说明:
评测中参数说明
- language : 评测语言(en_us/zh_cn)
取值 | 说明 |
---|---|
en_us | 英文评测 |
zh_cn | 中文评测 |
- category : 评测类型
取值 | 说明 |
---|---|
read_chapter | 章节 |
read_sentence | 句子 |
read_word | 词语 |
read_syllable | 中文字(仅支持中文详细结果) |
- result_level : 评测结果等级
取值 | 说明 |
---|---|
plain | 精简结果 |
complete | 完整结果 |
当ApiLevel >=1 时可透传其他定制参数
对于教育儿童评测领域新增两个key,分别为ent,group。定义如下:
| KEY | VALUE | 说明 | | ----- | ------ | ---------- | | ent | see_ch | 中文 | | - | see | 英语 | | group | pupil | 分组:学生 |
如: language=en_us,category=read_word,result_level=plain
Andoird SDK可以通过
EvaParamsHelper.createParams(@LanguageType String language, @CategoryType String category, @ResultLevel String result_level)
生成测评参数
结果说明:
评测结果字段说明,评测结果为String,需要业务自行解析。
Json字段定义如下:
字段 | 类型 | 说明 |
---|---|---|
key_total_score | float | 满分制,也就是总分 |
key_result_code | int | 结果码;0:成功,非0为失败 |
key_result_score | float | 本次得分 |
sid | String | 测评回话id(用于调试) |
key_is_rejected | boolean | 是否乱读 |
key_content | String | 评测内容 |
key_except_info | String | 异常信息 |
key_syll_list | String | 音节详情(还待完善,目前只取了第一个句子第一个词) |
注意:精简结果仅支持前4项
当 ApiLevel>=1 时,透传原始XML结果。
XML结果解析参考:评测结果格式)