public static class IAsrHandler.Skeleton extends java.lang.Object implements IAsrHandler
工具类,创建 IAsrHandler 接口实例时建议使用此类。
可以在 IAsrHandler 接口有新增回调函数时保证兼容性。
举例:假设使用 IAsrHandler 时,用下面的方法
IAsrHandler handler = new IAsrHandler() {
// ... 实现 IAsrHandler 的各接口函数
};
后来在版本升级中 IAsrHandler 增加了 public void onFooEvent(); 那么,使用者升级时需要修改上述代码,增加 onFooEvent 的实现。 如果改用下面的实现,则可避免修改。
IAsrHandler handler = new IAsrHandler.Skeleton() {
// ... 重写 IAsrHandler 中必要接口的实现
};
SDK 在维护 Skeleton 时会增加 onFooEvent 的默认实现。除非使用者有必要处 理 onFooEvent,否则没有必要修改原来的代码。
IAsrHandler.SkeletonCANCELLED, END_OF_INPUT, END_OF_VOICE, ERROR, EXCEPTION, NO_VOICE_INPUT| 构造器和说明 |
|---|
Skeleton() |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
onEndOfVoice(AsrCommon asr)
检测到末端点(语音停顿足够长的时间)
|
void |
onError(AsrCommon asr,
java.lang.String stage,
int code)
识别过程发生错误
|
void |
onException(AsrCommon asr,
java.lang.Exception e)
识别过程发生异常,多为本接口的各函数实现中出现的异常。
|
void |
onFinish(AsrCommon asr,
int reason)
识别会话结束
|
boolean |
onNoVoiceInput(AsrCommon asr,
int count)
未检测到人声输入
|
void |
onResult(AsrCommon asr,
AsrResult result)
通知识别结果,根据识别模式,可能会被调用多次
|
void |
onStart(AsrCommon asr)
识别会话启动
|
void |
onVoiceBegin(AsrCommon asr)
静音检测:输入数据语音开始
|
void |
onVoiceEnd(AsrCommon asr)
静音检测:输入数据语音结束
|
public void onStart(AsrCommon asr)
IAsrHandler识别会话启动
onStart 在接口中 IAsrHandlerpublic void onResult(AsrCommon asr, AsrResult result)
IAsrHandler通知识别结果,根据识别模式,可能会被调用多次
onResult 在接口中 IAsrHandlerresult - 识别结果public void onFinish(AsrCommon asr, int reason)
IAsrHandler识别会话结束
onFinish 在接口中 IAsrHandlerreason - 结束原因,请参见本接口 IAsrHandler 中的常量定义public void onError(AsrCommon asr, java.lang.String stage, int code)
IAsrHandler识别过程发生错误
onError 在接口中 IAsrHandlerstage - 错误场景code - 错误码,请参考灵云 SDK 开发手册中的错误码定义public void onException(AsrCommon asr, java.lang.Exception e)
IAsrHandler识别过程发生异常,多为本接口的各函数实现中出现的异常。
onException 在接口中 IAsrHandlere - 发生的异常public boolean onNoVoiceInput(AsrCommon asr, int count)
IAsrHandler未检测到人声输入
onNoVoiceInput 在接口中 IAsrHandlercount - 这是连续第几次未检测到人声输入,起始值为 1。返回 false 会退出识别流程, 否则继续。依然未检测到人声输入,再次调用时,该值会 +1。检测到人声输入 后,该值会被重置为 1。public boolean onEndOfVoice(AsrCommon asr)
IAsrHandler检测到末端点(语音停顿足够长的时间)
onEndOfVoice 在接口中 IAsrHandlerpublic void onVoiceBegin(AsrCommon asr)
IAsrHandler静音检测:输入数据语音开始
onVoiceBegin 在接口中 IAsrHandlerpublic void onVoiceEnd(AsrCommon asr)
IAsrHandler静音检测:输入数据语音结束
onVoiceEnd 在接口中 IAsrHandler