HarmonyOS鸿蒙Next
HarmonyOS鸿蒙Next 接入speechRecognizer进行语音识别,偶现报错之后无法使用了,得杀进程重新进APP才能恢复,
正常都是创建成功
看日志是先报了1002200001然后多次报1002200007
1002200001 errorMessage: Create engine failed.
1002200007 The engine is not initialized.
报错 1002200001
官方解释:
- 语种不支持。
- 模式不支持。
- 资源不存在或初始化超时。
如果以上都正常; 建议检查 下是不是频繁创建引擎以及销毁引擎导致的,加个日志看下
更多关于HarmonyOS鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
我们这边确实是会 频繁创建引擎以及销毁引擎,每次拉起收音就会创建一次引擎,是这样用法不对是吗
要看使用场景,比如要一直监听实时转换语音,那就不用销毁
如果特定场景那就需要创建以及销毁
只有加个日志看下;是不是代码逻辑导致的没有销毁又创建了
尊敬的开发者,您好,
错误码1002200001表示创建引擎失败,可以参考文档排查以下问题:
- 调用listLanguages方法查询支持的语种,确认语种后请重新尝试。
- 当前仅支持CreateEngineParams,确认模式后请重新尝试。
- 资源不存在及初始化超时时,建议稍后重新尝试。
也可以参考下如下错误信息进行排查:
- errMessage: create param is error,language only support zh-CN now。创建参数错误,当前仅支持语言zh-CN。
- errMessage: asr engine init failed with other process has initialized.asr。引擎初始化失败,因为其他进程已初始化。
本地使用6.1.0 Release版本的DevEco Studio、API 23版本的设备运行语音识别文档中的开发示例可以正常实现语音识别功能,开发者可以参考下此示例,若是排查无问题但仍然存在报错,还请开发者提供下DevEco Studio版本、设备版本以及可以复现问题的demo和具体的日志信息以便进一步分析,感谢。
之前根据官方demo只写了错误抛出,现在加了抛出错误的时候进行重试机制。不知道有没有效果,看后续会不会有用户反馈用不了收音。
好的,开发者,若后续出现相同的问题,欢迎您再次反馈。
HarmonyOS NEXT 是华为自研的全场景分布式操作系统,去除了AOSP代码,采用鸿蒙内核。开发语言以ArkTS(基于TypeScript的声明式UI)为主,支持多设备统一开发。系统基于微内核架构,具备分布式软总线、跨端迁移等能力。本次版本不再兼容安卓应用,需使用鸿蒙原生API。
错误码1002200001(引擎创建失败)通常是底层语音识别引擎资源未及时释放或重复创建导致。1002200007(引擎未初始化)则表明引擎实例已失效,后续调用均会失败。根本原因可能是引擎对象未正确销毁或存在引用泄漏,导致再次使用时内部状态异常。当前需重启进程是因为引擎进程级的状态只有在进程重启后才能重置。可通过确保每次识别结束显式调用release()销毁引擎,并在下次使用前通过单例或状态检查避免重复创建来规避。

