HarmonyOS 鸿蒙Next使用 textToSpeech 创建一个文本转语音时出现创建失败

发布于 1周前 作者 eggper 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next使用 textToSpeech 创建一个文本转语音时出现创建失败

我是在HarmonyOS NEXT 下开发,使用的是HarmonyOS NEXT模拟器
使用如下的方法:

 private create(){
    // 设置创建引擎参数
    let extraParam: Record<string, Object> = {"style": 'interaction-broadcast', "locate": 'CN', "name": 'EngineName'};
    let initParamsInfo: textToSpeech.CreateEngineParams = {
      language: 'zh-CN',
      person: 0,
      online: 1,
      extraParams: extraParam
    };
    try {
      // 调用createEngine方法
      textToSpeech.createEngine(initParamsInfo, (err: BusinessError, textToSpeechEngine: textToSpeech.TextToSpeechEngine) => {
        if (!err) {
          console.log("MyTextToSpeechUtils createEngine is succeeded")
          // Logger.debug("MyTextToSpeechUtils createEngine is succeeded")
          // 接收创建引擎的实例
          this.ttsEngine = textToSpeechEngine;

          this.listener();

        } else {
          console.log("MyTextToSpeechUtils errCode is "+err.code+" errMessage is "+err.message)
          // 创建引擎失败时返回错误码1003400005,可能原因:引擎不存在、资源不存在、创建引擎超时
          // Logger.error("MyTextToSpeechUtils errCode is "+err.code+" errMessage is "+err.message)
        }
      });
    } catch (error) {
      let message = (error as BusinessError).message;
      let code = (error as BusinessError).code;
      console.error(`MyTextToSpeechUtils createEngine failed, error code: ${code}, message: ${message}.`)
      // Logger.error(`MyTextToSpeechUtils createEngine failed, error code: ${code}, message: ${message}.`)
    }
  }

在创建过程中抛异常为:createEngine failed, error code: undefined, message: Cannot read property createEngine of undefined.

5 回复
当前模拟器不支持这一api,可用 canIUse('SystemCapability.AI.TextToSpeech') 进行判断。

是的,模拟器不具备这个能力。 if(canIUse(“SystemCapability.AI.TextToSpeech”)){ printLog(“具备文本到语音”) }else{ printLog(“不具备文本到语音”) }

大佬你好,想问一下OpenHarmony5.0.x版本编译后烧录到3568的开发板,可以支持这个能力吗?

是否支持这个能力,要看你编译的系统是否有这个能力。在编译系统时可以添加这个能力的。

在HarmonyOS鸿蒙Next系统中使用textToSpeech功能时遇到创建失败的问题,通常可能由以下几个原因引起:

  1. 权限问题:确保你的应用已经正确声明并获得了使用文本转语音功能的必要权限,如ohos.permission.READ_EXTERNAL_STORAGE(如果涉及读取文本文件)和ohos.permission.INTERNET(部分TTS服务可能需要网络连接)。

  2. 服务未启用:检查系统或应用内的文本转语音服务是否已启用。有时用户可能禁用了某些服务,导致功能无法使用。

  3. 资源限制:系统资源紧张(如内存不足)也可能导致TTS服务创建失败。确保设备有足够的资源来运行TTS服务。

  4. API调用错误:检查textToSpeech的API调用是否正确,包括参数设置和回调处理。错误的API使用方式可能导致服务创建失败。

  5. 系统兼容性问题:确认你的HarmonyOS版本是否支持当前使用的TTS库或API。不同版本的系统可能对某些功能有不同的支持情况。

如果以上检查均无误但问题依旧存在,可能是系统或应用层面的bug。此时,建议直接联系官网客服获取进一步的技术支持。官网地址是:https://www.itying.com/category-93-b0.html

回到顶部