Appearance
设置回调监听
方法名
registerListener
用法
- 用法如下:js
module.registerListener({ complete: (res) => { let data = res.data; if (data.type == "onRegisterSuccess") { //注册监听成功 this.addLog("注册监听成功") } else if (data.type == "onEvent") { //识别回调事件 let name = data.name; let params = data.params || "{}" switch (name) { case SpeechConstant.CALLBACK_EVENT_ASR_READY: //引擎准备就绪,可以开始说话 this.addLog("引擎准备完成,可以开始说话") break case SpeechConstant.CALLBACK_EVENT_ASR_BEGIN: //检测到用户的已经开始说话 this.addLog("检测到用户的已经开始说话") this.isStart = true; break case SpeechConstant.CALLBACK_EVENT_ASR_END: //检测到用户的已经停止说话,或者ASR_STOP 输入事件调用后 this.addLog("检测到用户的已经停止说话") this.isStart = false; break case SpeechConstant.CALLBACK_EVENT_ASR_PARTIAL: //识别结果,识别过程 this.addLog("识别过程:" + params) break case SpeechConstant.CALLBACK_EVENT_ASR_FINISH: //识别结束 this.addLog("识别结束:" + params) break case SpeechConstant.CALLBACK_EVENT_ASR_LONG_SPEECH: //长语音识别结束 this.addLog("长语音识别结束:" + params) break case SpeechConstant.CALLBACK_EVENT_ASR_VOLUME: //音量的回调 this.addLog("音量的回调:" + params) break case SpeechConstant.CALLBACK_EVENT_ASR_AUDIO: //语音的二进制数据,dataValue pcm格式,16bits 16000采样率 let dataValue = data.data || []; break case SpeechConstant.CALLBACK_EVENT_ASR_EXIT: //引擎完成整个识别,空闲中 this.addLog("引擎完成整个识别,空闲中") break case SpeechConstant.CALLBACK_EVENT_ASR_LOADED: //离线命令词资源加载成功 this.addLog("离线命令词资源加载成功") break case SpeechConstant.CALLBACK_EVENT_ASR_UNLOADED: //离线命令词资源释放成功 this.addLog("离线命令词资源释放成功") break } } } })jsmodule.registerListener({ complete: (res : LevenResult) => { let data = res.data; let type = data.getString("type") if (type == "onRegisterSuccess") { //注册监听成功 addLog("注册监听成功") } else if (type == "onEvent") { //识别回调事件 let name = data.getString("name"); let params = data.getString("params") ?? "{}" switch (name) { case SpeechConstant.CALLBACK_EVENT_ASR_READY: //引擎准备就绪,可以开始说话 addLog("引擎准备完成,可以开始说话") break case SpeechConstant.CALLBACK_EVENT_ASR_BEGIN: //检测到用户的已经开始说话 addLog("检测到用户的已经开始说话") isStart.value = true; break case SpeechConstant.CALLBACK_EVENT_ASR_END: //检测到用户的已经停止说话,或者ASR_STOP 输入事件调用后 addLog("检测到用户的已经停止说话") isStart.value = false; break case SpeechConstant.CALLBACK_EVENT_ASR_PARTIAL: //识别结果,识别过程 addLog("识别过程:" + params) break case SpeechConstant.CALLBACK_EVENT_ASR_FINISH: //识别结束 addLog("识别结束:" + params) break case SpeechConstant.CALLBACK_EVENT_ASR_LONG_SPEECH: //长语音识别结束 addLog("长语音识别结束:" + params) break case SpeechConstant.CALLBACK_EVENT_ASR_VOLUME: //音量的回调 addLog("音量的回调:" + params) break case SpeechConstant.CALLBACK_EVENT_ASR_AUDIO: //语音的二进制数据,dataValue pcm格式,16bits 16000采样率 // let dataValue = data.getArray("data") || []; break case SpeechConstant.CALLBACK_EVENT_ASR_EXIT: //引擎完成整个识别,空闲中 addLog("引擎完成整个识别,空闲中") break case SpeechConstant.CALLBACK_EVENT_ASR_LOADED: //离线命令词资源加载成功 addLog("离线命令词资源加载成功") break case SpeechConstant.CALLBACK_EVENT_ASR_UNLOADED: //离线命令词资源释放成功 addLog("离线命令词资源释放成功") break } } } } as LevenOptions) - 参数说明
参数名 参数类型 是否必填 默认值 参数描述 success Function 否 无 执行成功的函数 fail Function 否 无 执行失败的函数 complete Function 否 无 执行完成的函数,不管成功还是失败都会执行
回调
- 示例json
{ "data": { "length": 0, "name": "asr.partial", "offset": 0, "params": "{\"results_recognition\":[\"喂喂喂,你好你好你好。\"],\"result_type\":\"final_result\",\"best_result\":\"喂喂喂,你好你好你好。\",\"origin_result\":{\"err_no\":0,\"result\":{\"word\":[\"喂喂喂,你好你好你好。\"],\"confident\":[0]},\"corpus_no\":7687921217516213756,\"sn\":\"8a430fe5-0e0f-4786-98ff-9c5b396e13dd\",\"product_id\":1537,\"product_line\":\"open\",\"result_type\":\"TS_RESULT_TYPE_ONEBSET\",\"sub_err_no\":0},\"error\":0}", "type": "onEvent", "dataStr": "" }, "message": "", "code": 0
} ```
- 回调说明:
参数名 参数类型 参数描述 message String 消息提示 data Object 数据对象 data.length Integer 语音长度 data.name String 识别过程名称,可根据识别过程名称判断识别效果,具体可参考官方示例或插件示例 data.offset Integer 语音起始位置 data.params String 语音识别结果,json字符串 data.type String 接口调用类型 onRegisterSuccess:注册监听成onEvent:识别事件data.dataStr String 识别二进制数据字符串形式 data.data byte[] 识别二进制 code Integer 返回类型,0.成功,其他:失败

