提交 2c9135e6 编写于 作者: 评测功能说明 提交者: GitHub

更新回调

上级 fe791c9d
......@@ -6,19 +6,14 @@
* [IOralEvalSDK.OfflineSDKError](#ioralevalsdkofflinesdkpreparationerror)
* [IOralEvalSDK.ICallback](#ioralevalsdkicallback)
* [SDKError](#ioralevalsdkerror)
* [Json字段说明](#result-description)
<br/>
### <a name="oralevalsdkfactory"></a>OralEvalSDKFactory
<br/>
评测静态工厂类,用于设置评测服务地址、初始化离线引擎、发起评测等。
<br/>
* public final static String SDK_VERSION;
| | |
......@@ -27,30 +22,17 @@
| 版本支持 | 最低2.0.0 |
<br/>
* public static void initServerAndPort(String server, int port)
| | |
| -----| ------ |
| 说明| 设置socket评测方式服务地址。一般不用设置,使用默认值即可 |
| 说明| 设置服务地址。一般不用设置,使用默认值即可 |
|版本支持| 最低2.0.0 |
|参数 server|服务的域名或者ip地址|
|参数 port|服务的tcp端口|
<br/>
* public static void setOnline_ip(String online_ip)
| | |
| -----| ------ |
| 说明| 设置http代理服务地址。一般不用设置,使用默认值即可 |
|版本支持| 最低2.6.24 |
|参数 online_ip|服务的域名或者ip地址及端口号|
|eg :|edu.hivoice.cn:80|
<br/>
* public static [OfflineSDKError](#ioralevalsdkofflinesdkpreparationerror) initOfflineSDK(Context context, String workingDir)
| | |
......@@ -62,7 +44,6 @@
|返回值|初始化正确返回NOERROR;其他错误参考[OfflineSDKError](#ioralevalsdkofflinesdkpreparationerror)的说明|
<br/>
* public static void cleanupOfflineSDK(Context context)
| | |
......@@ -72,7 +53,6 @@
|参数 context|android.content.Context实例,比如一个Activity|
<br/>
* public static [IOralEvalSDK](#ioralevalsdk) start(Context context, [StartConfig](#oralevalsdkfactorystartconfig) cfg, [ICallback](#ioralevalsdkicallback) cb)
| | |
......@@ -84,14 +64,12 @@
|参数 cb|监听接口,用于接收评测结果,实时音量,实时语音数据,和错误信息,详见[ICallback](#ioralevalsdkicallback)|
<br/>
#### <a name="oralevalsdkfactorystartconfig"></a>OralEvalSDKFactory.StartConfig
<br/>
评测参数类。标识了所有评测的参数设置。
<br/>
* public StartConfig(String oralText)
| | |
......@@ -113,6 +91,15 @@
<br/>
* public void setOnline_ip(String online_ip)
| | |
| ----- | ----- |
| 说明|设置在线评测ip和端口号,默认不设置,在线评测就走我们内部默认的ip和端口号,如果设置了ip和端口号,在线评测就走设置的ip和端口号|
|版本支持| 最低3.6.22 |
|参数 online_ip|ip和端口号组成的字符串|
<br/>
* public void setVadEnable(boolean vadEnable)
| | |
......@@ -122,7 +109,6 @@
|参数 vadEnable|true启用VAD,false不启用VAD,默认不启动|
<br/>
* public void setVadBeforeMs(int vadBeforeMs)
| | |
......@@ -132,7 +118,6 @@
|参数 vadBeforeMs|最长前置静音时间,默认2000(毫秒)|
<br/>
* public void setVadAfterMs(int vadAfterMs)
| | |
......@@ -142,7 +127,6 @@
|参数 vadAfterMs|最长后置静音时间,默认2000(毫秒)。此参数最大值支持3000毫秒,大于3000毫秒内部按照3000毫秒处理|
<br/>
* public void set_useOfflineWhenFailedToConnectToServer(boolean _useOfflineWhenFailedToConnectToServer)
| | |
......@@ -152,7 +136,6 @@
|参数 _useOfflineWhenFailedToConnectToServer|true启动混合评测,false仅使用在线评测。默认为false|
<br/>
* public void setOralText(String oralText)
| | |
......@@ -163,7 +146,6 @@
|注意|请不要传递空字符串,否则有可能会抛出IllegalArgumentException异常|
<br/>
* public void setScoreAdjuest(float scoreAdjuest)
| | |
......@@ -173,7 +155,6 @@
|参数 scoreAdjuest|得分系数。具体值请咨询客户经理|
<br/>
* public void setServiceType(String serviceType)
| | |
......@@ -183,7 +164,6 @@
|参数 serviceType|需要评测的模式。具体参考评测模式说明文档|
<br/>
* public void setConnectTimeout(int connectTimeout)
| | |
......@@ -193,17 +173,6 @@
|参数 connectTimeout|连接评测服务时的超时时间,单位为毫秒。默认值为1000毫秒|
<br/>
* public void setSocket_timeout(int socket_timeout)
| | |
| ----- | ----- |
| 说明|动态设置stop超时时间接口|
|版本支持| 最低3.6.27 |
|参数 socket_timeout|动态设置stop超时时间接口,在不设置的情况下默认使用现在SDK的超时时间机制,单位为毫秒。(建议默认使用现在SDK的超时时间机制)|
<br/>
* public void setVolumeReport(boolean on)
| | |
......@@ -213,7 +182,6 @@
|参数 on|true为打开上报,flase关闭上报。默认为true|
<br/>
* public void setAudioStream(InputStream audioStream)
| | |
......@@ -223,7 +191,6 @@
|参数 audioStream|不为空,则从该流中读取音频评测, 否则从麦克风录音评测。默认从麦克风录音评测|
<br/>
* public void setMp3Audio(boolean mp3Audio)
| | |
......@@ -233,26 +200,32 @@
|参数 mp3Audio|true,则以mp3格式输出, 否则以16k,16bit有符号整数,单声道pcm格式输出|
<br/>
* public void setHost_ip(String host)
* public void setBufferLog(boolean bufferLog)
| | |
| -----| ------ |
| 说明| 设置http评测host头域 |
|版本支持| 最低2.6.25 |
|参数 host|域名字符串,一般不需要设置|
| ----- | ----- |
| 说明|设置是否保存评测SDK内部Log,以便需要时取出。参考[IOralEvalSDK](#ioralevalsdk).getLog()|
|版本支持| 最低2.6.5 |
|参数 bufferLog|true,内部保存Log;否则,内部不保存Log|
<br/>
* public void setBufferLog(boolean bufferLog)
* public void setAsyncRecognize(boolean asyncRecognize)
| | |
| ----- | ----- |
| 说明|设置是否保存评测SDK内部Log,以便需要时取出。参考[IOralEvalSDK](#ioralevalsdk).getLog()|
|版本支持| 最低2.6.5 |
|参数 bufferLog|true,内部保存Log;否则,内部不保存Log|
| 说明|设置是否启用延迟评测。|
|版本支持| 最低3.6.14 |
|参数 asyncRecognize|true启用延迟评测,false不启用延迟评测,默认不启用|
<br/>
* public void setReTry(boolean reTry)
| | |
| ----- | ----- |
| 说明|设置是否使用重试,注意:如果使用重试,在构造OralEvalSDKFactory.StartConfig实例时需要用StartConfig(String oralText, String fileFullName)进行构造,且fileFullName文件为opus格式的文件,可参考demo|
|版本支持| 最低v3.6.17 |
|参数 reTry|true使用重试,false不使用重试,默认不使用|
<br/>
### <a name="ioralevalsdk"></a> IOralEvalSDK
......@@ -261,6 +234,14 @@
评测实例,从[OralEvalSDKFactory](#oralevalsdkfactory).start()创建。一个时刻只能有一个评测实例。
<br/>
* public void cancel()
| | |
| ----- | ----- |
| 说明| 取消评测,将会在[IOralEvalSDK.ICallback](#ioralevalsdkicallback).onCancel()回调中完全结束上次评测,或者[IOralEvalSDK.ICallback](#ioralevalsdkicallback).onError()中捕获错误|
|版本支持| 最低3.6.16 |
<br/>
* public void stop()
| | |
......@@ -269,7 +250,6 @@
|版本支持| 最低2.0.0 |
<br/>
* public String getLog()
| | |
......@@ -280,14 +260,12 @@
|版本支持| 最低2.6.5 |
<br/>
#### <a name="ioralevalsdkofflinesdkpreparationerror"></a> IOralEvalSDK.OfflineSDKError
<br/>
离线SDK错误类型
<br/>
枚举值:
<br/>
......@@ -307,7 +285,6 @@
|TIMEOUT|超时|最低3.0.0
<br/>
#### <a name="ioralevalsdkerror"></a> SDKError
<br/>
......@@ -315,7 +292,7 @@
| 值|说明 |版本支持|
| ----- | ----- | ----- |
|Network | 网络错误。错误码-7表示连接失败或超时,-8表示读取结果失败,-9标识发送数据失败 |最低3.0.0
|Network | 网络错误。错误码-7表示连接失败或超时,-8表示读取结果失败,-9标识发送数据失败 |最低3.0.0
|Device | 设备错误。错误码-1001标识打开或读取录音设备失败,-1002是当输入音源是InputStream时读取该输入流失败|最低3.0.0
|Unknown_word | 所有评测的单词都不在词汇表中。错误码为-2001|最低3.0.0
|Server |服务器错误。 此时错误码是服务端返回的,请联系云知声根据错误码进一步分析。常见内错误码包括0xFFF7文本为空内容,0xE007文本过长,0xE001暂时没有可用资源,0x2003内容格式错误 |最低3.0.0
......@@ -323,7 +300,6 @@
目前阶段后端还有缺陷,不能正确返回所有错误码,故同时需要httpErrorMessage供定位问题。
<br/>
#### <a name="ioralevalsdkicallback"></a> IOralEvalSDK.ICallback
<br/>
......@@ -331,7 +307,6 @@
此接口的方法,由SDK在工作线程中调用,因此不是在UI主线程。且为了正常执行评测过程不能在此接口的方法中执行阻塞或耗时操作
<br/>
* public void onStart([IOralEvalSDK](#ioralevalsdk) who, int audioRecorderSessionId)
| | |
......@@ -342,7 +317,6 @@
|参数 audioRecorderSessionId|从麦克风录音评测时,启动的AudioRecord实例的AudioSessionId,对应AudioRecord.getAudioSessionId()方法的返回值。如果无法正常取得AudioSessionId,则为-1|
<br/>
* public void onError([IOralEvalSDK](#ioralevalsdk) who, [SDKError](#ioralevalsdkerror) error, [OfflineSDKError](#ioralevalsdkofflinesdkpreparationerror) offlineError)
| | |
......@@ -354,7 +328,6 @@
|参数 offlineError| 离线评测错误的原因值 |
<br/>
* public void onStop([IOralEvalSDK](#ioralevalsdk) who, String result, boolean isOffline, String url, EndReason stopType)
| | |
......@@ -368,7 +341,14 @@
|参数 stopType| 结束评测的原因。UserAction是调用[IOralEvalSDK](#ioralevalsdk).stop()结束,VoiceEnd是VAD检测到完成说话结束,NoVoice是VAD检测到长时间没有人说话结束,InputStreamEnd是当使用非mic音频源评测时,音频流结束或读取失败|
<br/>
* public void onCancel()
| | |
| ----- | ----- |
| 说明| 取消评测回调。无返回结果,评测会自动结束,需要手动调用[IOralEvalSDK](#ioralevalsdk).cancel() |
|版本支持| 最低3.6.16 |
<br/>
* public void onVolume([IOralEvalSDK](#ioralevalsdk) who, int value)
| | |
......@@ -379,7 +359,6 @@
|参数 value| 实时录音的音频音量值,0-100范围|
<br/>
* public void onAudioData([IOralEvalSDK](#ioralevalsdk) who, byte[] audioData, int offset, int len)
| | |
......@@ -391,35 +370,64 @@
|参数 len 实时录音的音频音量值,0-100范围|
<br/>
* public void onStartOralEval()
* public void onOpusData([IOralEvalSDK](#ioralevalsdk) who, byte[] opusData, int offset, int len)
| | |
| ----- | ----- |
| 说明| 录音结束回调 |
|版本支持| 3.6.24 |
| 说明| 评测实时opus流数据回调 |
|版本支持| 最低v3.6.17 |
|参数 opusData|opus流数据|
|参数 offset| 实时录音的opus流数据的偏移值|
|参数 len |实时录音的opus流数据的总长度|
<br/>
* public void onAsyncResult([IOralEvalSDK](#ioralevalsdk) who, String url);
| | |
| ----- | ----- |
| 说明| 延迟评测回调,默认为不启用,需要设置 public void setAsyncRecognize(boolean asyncRecognize)为true|
|版本支持| 最低3.6.14|
|参数 who|评测实例。标示谁发起了此回调|
|参数 url| 延迟评测结果所在的地址|
### <a name="result-description"></a> Json字段说明
<br/>
* public void onStartOralEval()
| | | |
| ----- | ----- | ----- |
| 名称| 类型 | 说明 |
| version | string | 结果格式版本及版本号 |
| lines | array | 每行输入文本的评测结果 |
| sample | string | 输入的标准文本 |
| usertext | string | 用户实际朗读的文本(语音识别结果) |
| begin | double | 开始时间,单位为秒 |
| end | double | 开始时间,单位为秒 |
| volume | double | 音量 |
| score | string | 分值 |
| subwords | double | 单词包含的音标 |
| integrity | double | 录入语音的完整度 |
| pronunciation | double | 录入语音的标准度 |
| fluency | double | 录入语音的流利度 |
| words | array | 每个词的评测结果 |
| text | string | 结果格式版本及版本号 | 词的字符串,使用"sil"表示语音中的静音段 |
| type | int | 类型,共有6种类型,分别是:0 多词;1 漏词;2 正常词;3 错误词;4 静音;5 重复词;8 生词 |
| | |
| ----- | ----- |
| 说明| 录音结束回调 |
|版本支持| 3.6.24 |
### 评测返回结果中Json字段说明
| | | |
| ----- | ----- | ----- |
| 名称| 类型 | 说明 |
| version | string | 结果格式版本及版本号 |
| lines | array | 每行输入文本的评测结果 |
| sample | string | 输入的标准文本 |
| usertext | string | 用户实际朗读的文本(语音识别结果) |
| begin | double | 开始时间,单位为秒 |
| end | double | 开始时间,单位为秒 |
| volume | double | 音量 |
| score | string | 分值 |
| subwords | double | 单词包含的音标 |
| integrity | double | 录入语音的完整度 |
| pronunciation | double | 录入语音的标准度 |
| fluency | double | 录入语音的流利度 |
| words | array | 每个词的评测结果 |
| text | string | 结果格式版本及版本号 | 词的字符串,使用"sil"表示语音中的静音段 |
| type | int | 类型,共有6种类型,分别是:0 多词;1 漏词;2 正常词;3 错误词;4 静音;5 重复词;8 生词 |
| sentSample | array | 句式标准文本 |
| sentScore | array | 句式总分 |
| sentPronunciation | array | 句式标准度得分 |
| sentFluency | array | 句式流利度得分 |
| sentIntegrity | array | 句式完整度得分 |
| keySample | array | 关键词sample(包括关键词和每个关键词的得分 |
| keysScore | array | 关键词总分 |
| keysPronunciation | array | 关键词标准度得分 |
| keysIntegrity | array | 关键词完整度得分 |
| keysFluency | array | 关键词流利度 |
| audiocheck | array | 音质检测结果。volume:音量过小的置信度;clipping:截幅的置信度;noise:噪音过大的置信度;cut:截断的置信度;too short:是否音频过短;emptyAudio:是否是空音频。备注:置信度的范围是0-10,数字越大,表示存在问题的可能性越大 |
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册