基础语音合成

最近更新时间:2026-05-21 12:02:44

我的收藏
说明:更新临时密钥
TTS SDK 支持使用临时密钥接口,使用临时密钥的好处主要有以下两点:第一,将固定密钥与终端分离可以增加安全性;第二,因为兑换临时密钥是您完全可控的行为,您可以根据自定义规则来控制最终用户的接口访问权限。因此建议您使用临时密钥的方式,具体可以参考文档 临时密钥生成及使用指引

接入准备

SDK 获取

语音合成 HarmonyOS NEXT SDK 以及 Demo 的下载地址: 接入 SDK 下载

接入须知

开发者在调用前请先查看 基础语音合成相关接口,了解接口的使用要求使用步骤
该接口需要手机能够连接网络(3G、4G、5G 或 Wi-Fi 等)
运行 Demo 必须设置 SecretID、SecretKey,可在 API 密钥管理 中获取。

SDK 导入

1. 下载并解压 HarmonyOS NEXT SDK 压缩包,压缩包包含 demo、sdk 和 doc,其中 sdk/qcloudtts_v1.x.x.har 为语音合成的 SDK。
2. 在工程中添加依赖库, oh-package.json 中添加以下依赖
"dependencies": {
"QCloudTTS": "file:../../sdk/qcloudtts_v1.0.0_96b6073.har"
}
请根据实际路径替换配置。

快速接入

以下为 demo 中的代码片段,完整代码请参考 sdk/demo 工程。

配置合成任务

let builder = new QCloud.TTS.Builder()
builder.secretID = this._secret_id
builder.secretKey = this._secret_key
builder.token = this._token
builder.setApiParam(QCloud.TTS.kText, this._text)
builder.setApiParam(QCloud.TTS.kVolume, this._volume)
builder.setApiParam(QCloud.TTS.kSpeed, this._speed)
builder.setApiParam(QCloud.TTS.kVoiceType, this._voice_type)
builder.setApiParam(QCloud.TTS.kEnableSubtitle, this._subtitle)
配置合成任务相关参数

启动合成任务

使用上面的 Builder 可以创建并启动合成任务并等待结果
let ret = await builder.build().result

主要接口类和方法说明

Builder 类说明

Builder 用于创建合成任务
方法
i. setApiParam(key: string, value: string | number | null)
设置请求后台接口时的参数,后台支持参数请参考 基础语音合成 相关接口
名称
类型
描述
key
string
请求后台的参数名称
value
string|number|null
请求后台的参数值,null 时将删除已设置的参数,number 会转为 string 后设置
ii. getApiParam(key: string): string | number | boolean | null
获取已设置的请求参数
名称
类型
描述
key
string
参数名称
iii. build(): Controller
创建合成任务同时返回合成任务控制器
属性
名称
类型
描述
secretID
string
腾讯云 secretId
secretKey
string
腾讯云 secretKey
token
string
腾讯云临时 token,为空字符串时表示不使用临时授权,临时授权参考 获取联合身份临时访问凭证
region
string
请求 region,默认值为 ap-guangzhou 详见产品支持的 地域列表
connectTimeout
number
连接超时设置,单位为 ms,默认值为10000
readTimeout
number
读取超时设置

Controller 类说明

Controller 用于控制合成任务的流程
属性
名称
类型
描述
task
Promise<string>
合成任务服务端返回结果
result
Promise<QCloud.TTS.Server.ServerResponse>
合成任务服务端返回结果解析后的结构,请参考 流式文本语音合成 输出参数的说明中的 Listener 类说明

错误码

合成任务抛出类型为 SDKError 时的错误码
错误码
名称
描述
-1
UNKNOWN_ERROR
未知错误
1
REQUEST_ERROR
请求失败,具体原因请查看 message 和 inner_error
2
SERVER_ERROR
服务端返回错误,具体信息查看 message