实时语音合成

最近更新时间:2025-01-06 12:01:52

我的收藏

接入准备

SDK 获取

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

接入须知

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

SDK 导入

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

快速接入

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

配置合成任务

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

启动合成任务

使用上面的Builder可以创建并启动合成任务并等待结果
this._ctl = builder.build({})
await this._ctl.task

主要接口类和方法说明

Builder类说明

Builder 用于创建合成任务
方法

1. setApiParam(key: string, value: string | number | null)

设置请求后台接口时的参数,后台支持参数请参考实时语音合成 相关接口
名称
类型
描述
key
string
请求后台的参数名称
value
string|number|null
请求后台的参数值,null 时将删除已设置的参数,number 会转为 string 后设置
2. getApiParam(key: string): string | number | boolean | null
获取已设置的请求参数
名称
类型
描述
key
string
参数名称
3. build(): Controller
创建合成任务同时返回合成任务控制器
名称
类型
描述
listener
Listener
流式合成过程中的数据及事件回调
属性
名称
类型
描述
appID
string
腾讯云 appId
secretID
string
腾讯云 secretId
secretKey
string
腾讯云 secretKey
token
string
腾讯云临时 token,为空字符串时表示不使用临时授权,临时授权参考 获取联合身份临时访问凭证

Controller类说明

Controller 用于控制合成任务的流程
方法
1. cancel(): void
取消合成任务,成功后task抛出取消异常。
属性
名称
类型
描述
task
Promise<void>
合成任务

Listener类说明

Listener 流式合成过程中的数据及事件回调
1. onLog?: (value: string, level: number) => void
日志回调
名称
类型
描述
value
string
日志信息
level
number
日志等级
2. onData?: (data: ArrayBuffer) => void
服务端返回的音频数据,可参考文档 流式文本语音合成说明。
名称
类型
描述
data
ArrayBuffer
服务端返回的音频数据
3. onMessage?: (msg: string) => void
服务端返回的json数据,可参考文档 流式文本语音合成 https://cloud.tencent.com/document/product/1073/108595 说明。
名称
类型
描述
msg
ArrayBuffer
服务端返回的json数据

错误码

合成任务抛出类型为 SDKError 时的错误码
错误码
名称
描述
-1
UNKNOWN_ERROR
未知错误
1
REQUEST_ERROR
请求失败,具体原因请查看message和inner_error
2
SERVER_ERROR
服务端返回错误,具体信息查看message
3
SIGNATURE_ERROR
签名错误
4
PARAMETER_ERROR
参数错误,SDK本地参数校验
5
CANCEL_ERROR
调用cancel成功