本插件封装了讯飞SDK的语音评测功能,语音评测(Speech Evaluator)通过智能语音技术自动对发音水平进行评价、发音错误、缺陷进行定位和问题分析。目前评音评测提供汉语、英语两种语言的评测,支持单字(汉语专有)、词语、句子、篇章朗读等题型。
使用此插件之前必须先配置 config 文件,配置方法如下:
<feature name="iflyEva">
<param name="appId" value="123ab67" />
</feature>
字段描述:
appId:注册应用的appId,注册应用请前往讯飞开放平台。
讯飞SDK静态库和appid是绑定的,每款应用必须保持唯一,否则会出现10407错误码,下载SDK后,将 DK打包成一个附加自定义插件上传 YonBuilder移动开发 平台。
iOS制作方法如下:
下载 iflyEvaAppendix 插件 zip 包并解压,把 zip 包内 target 目录下的 iflyMSC.framework 文件替换为自己从讯飞平台获取的SDK。然后重新压缩为 zip 包文件上传自定义插件,应用打包时勾选该插件。
Android自定义插件制作:
1、下载讯飞平台自己应用的语音测评sdk
2、下载 iflyEvaAppendix 插件 zip 包并解压
3、将语音测评的sdk中jar包替换source目录中的jar文件
4、将语音测评的sdk中so文件替换target目录中的so文件
5、将iflyEvaAppendix重新打包为zip文件以自定义插件方式添加到您项目
设置评测引擎的参数
config(params)
values:
[{
key:'', //字符串类型;评测引擎参数
value:'' //字符串类型;评测引擎参数值
}]
示例
</tr>
<tr>
<th> category </th>
<th>评测题型,可选值:
read_syllable(单字,汉语专有) read_word(词语)(默认值) read_sentence(句子)
</tr>
<tr>
<th>result_level</th>
<th>评测结果等级
完整:complete(默认值) 精简:plain(评测返回结果将只有总分)
</tr>
<tr>
<th>vad_bos</th>
<th>前端点超时
5000(豪秒)(默认值)
</tr>
<tr>
<th>vad_eos</th>
<th>后端点超时
1800(豪秒)(默认值)
</tr>
<tr>
<th>speech_timeout</th>
<th>评测超时
60000(豪秒)(默认值)
</tr>
</table>
var iflyEva = api.require('iflyEva');
iflyEva.config({
values:[{key:'',value:''}]
});
iOS系统,Android系统
可提供的1.0.0及更高版本
开始评测,同时只能进行一路会话,这次会话没有结束不能进行下一路会话,否则会报错
startListening(params,callback(ret))
data:
params:
ret:
{
status:true //布尔类型;是否成功
}
var iflyEva = api.require('iflyEva');
iflyEva.startListening({
data:''
},function(ret){
api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
停止录音,调用此方法会停止录音,并开始进行语音识别
stopListening()
var iflyEva = api.require('iflyEva');
iflyEva.stopListening();
iOS系统,Android系统
可提供的1.0.0及更高版本
取消本次会话
cancel()
var iflyEva = api.require('iflyEva');
iflyEva.cancel();
iOS系统,Android系统
可提供的1.0.0及更高版本
添加监听
addEventListener(callback(ret))
ret:
{
eventType:'onVolumeChanged',
volume:0 //数字类型;音量; 仅在eventType为 onVolumeChanged 时回调
errorCode:{ //json对象;错误信息; 仅在eventType为 onCompleted 时回调
errorCode:0,//数字类型;错误码
errorType:0,//数字类型;错误码类型(仅iOS支持)
errorDesc:'',//字符串类型;错误描述
},
results:'',//字符串类型;评测结果;仅在eventType为 onResults 时回调
isLast:true,//布尔类型;是否最后一条结果;仅在eventType为 onResults 时回调
}
startListening
函数之后,如果没有发生错误则会回调此函数。如果发生错误则回调onCompletedstartListening
函数之后,如果没有发生错误则会回调此函数。如果发生错误则回调onCompleted:函数stopListening
函数或者引擎内部自动检测到断点,如果没有发生错误则回调此函数,如果发生错误则回调onCompletedcancel
函数时,引擎不会自动结束,需要等到回调此函数,才表示此次会话结束。在没有回调此函数之前如果重新调用了startListenging
函数则会报错误var iflyEva = api.require('iflyEva');
iflyEva.addEventListener(function(ret) {
api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
销毁评测对象
destroy(callback(ret))
ret:
{
status:true //布尔类型;是否成功
}
var iflyEva = api.require('iflyEva');
iflyEva.destroy(function(ret){
api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
参数 | 说明 |
---|---|
language | 中文:zh_cn(默认值) 英文:en_us |