iflyEva

概述

本插件封装了讯飞SDK的语音评测功能,语音评测(Speech Evaluator)通过智能语音技术自动对发音水平进行评价、发音错误、缺陷进行定位和问题分析。目前评音评测提供汉语、英语两种语言的评测,支持单字(汉语专有)、词语、句子、篇章朗读等题型。

使用此插件之前必须先配置 config 文件,配置方法如下:

  • 名称:iflyEva
  • 参数:appId
  • 配置示例:
  <feature name="iflyEva">
    <param name="appId" value="123ab67" />
  </feature>

讯飞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

设置评测引擎的参数

config(params)

params

values:

  • 类型:json数组类型
  • 描述:评测引擎设置
  • 内部字段:
[{
 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

    开始评测,同时只能进行一路会话,这次会话没有结束不能进行下一路会话,否则会报错

    startListening(params,callback(ret))

    params

    data:

    • 类型:字符串类型
    • 描述:评测的试题

    params:

    • 类型:字符串类型
    • 描述:(可选项)评测的参数
    • 默认:空

    callback(ret)

    ret:

    • 类型:JSON 对象
    • 内部字段:
    {
     status:true     //布尔类型;是否成功
    }
    

    示例代码

    var iflyEva = api.require('iflyEva');
    iflyEva.startListening({
       data:''
    },function(ret){
         api.alert({msg: JSON.stringify(ret)});
    });
    

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    stopListening

    停止录音,调用此方法会停止录音,并开始进行语音识别

    stopListening()

    示例代码

    var iflyEva = api.require('iflyEva');
    iflyEva.stopListening();
    

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    cancel

    取消本次会话

    cancel()

    示例代码

    var iflyEva = api.require('iflyEva');
    iflyEva.cancel();
    

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    addEventListener

    添加监听

    addEventListener(callback(ret))

    callback(ret)

    ret:

    • 类型:JSON 对象
    • 内部字段:
    {
        
       eventType:'onVolumeChanged',
       volume:0  //数字类型;音量; 仅在eventType为 onVolumeChanged 时回调
       errorCode:{  //json对象;错误信息; 仅在eventType为 onCompleted 时回调
          errorCode:0,//数字类型;错误码
          errorType:0,//数字类型;错误码类型(仅iOS支持)
          errorDesc:'',//字符串类型;错误描述
       },
       results:'',//字符串类型;评测结果;仅在eventType为 onResults 时回调
       isLast:true,//布尔类型;是否最后一条结果;仅在eventType为 onResults 时回调
    }
    
    • eventType
      • onVolumeChanged 音量回调,当调用了startListening函数之后,如果没有发生错误则会回调此函数。如果发生错误则回调onCompleted
      • onBeginOfSpeech 开始录音回调,当调用了startListening函数之后,如果没有发生错误则会回调此函数。如果发生错误则回调onCompleted:函数
      • onEndOfSpeech 停止录音回调,当调用了stopListening函数或者引擎内部自动检测到断点,如果没有发生错误则回调此函数,如果发生错误则回调onCompleted
      • onCancel 正在取消(仅iOS支持)
      • onCompleted 评测错误回调,在进行语音评测过程中的任何时刻都有可能回调此函数,你可以根据errorCode进行相应的处理.当errorCode没有错误时,表示此次会话正常结束,否则,表示此次会话有错误发生。特别的当调用cancel函数时,引擎不会自动结束,需要等到回调此函数,才表示此次会话结束。在没有回调此函数之前如果重新调用了startListenging函数则会报错误
      • onResults 评测结果回调,在评测过程中可能会多次回调此函数,你最好不要在此回调函数中进行界面的更改等操作,只需要将回调的结果保存起来

    示例代码

    var iflyEva = api.require('iflyEva');
    iflyEva.addEventListener(function(ret) {
         api.alert({msg: JSON.stringify(ret)});
    });
    

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    destroy

    销毁评测对象

    destroy(callback(ret))

    callback(ret)

    ret:

    • 类型:JSON 对象
    • 内部字段:
    {
     status:true     //布尔类型;是否成功
    }
    

    示例代码

    var iflyEva = api.require('iflyEva');
    iflyEva.destroy(function(ret){
         api.alert({msg: JSON.stringify(ret)});
    });
    

    可用性

    iOS系统,Android系统

    可提供的1.0.0及更高版本

    是否仍需要帮助? 请保持联络!
    最后更新于 2024/06/14
    参数 说明
    language 中文:zh_cn(默认值) 英文:en_us