HarmonyOS NEXT SDK 说明
接入准备
SDK 获取
接入须知
开发者在调用前请先查看流式文本合成相关接口,了解接口的使用要求和使用步骤。
该接口需要手机能够连接网络(3G、4G、5G 或 Wi-Fi 等)
运行 Demo 必须设置 AppID、SecretID、SecretKey,可在 API 密钥管理 中获取。
SDK 导入
1. 下载并解压 HarmonyOS NEXT SDK 压缩包,压缩包包含 demo、sdk 和 doc,其中 sdk/streamtts_v1.x.x.har 为流式语音合成的 SDK。
2. 在工程中添加依赖库, oh-package.jsons 中添加一下依赖。
"dependencies": {"streamtts": "file:../../sdk/streamtts_v1.0.0_96b6073.har"}
请根据实际路径替换配置
快速接入
以下为 demo 中的代码片段,完整代码请参考 sdk/demo 工程。
配置合成任务
let builder = new QCloud.StreamTTS.Builder()builder.appID = this._app_idbuilder.secretID = this._secret_idbuilder.secretKey = this._secret_keybuilder.token = this._tokenbuilder.setApiParam(QCloud.StreamTTS.kVoiceType, this._voice_type)builder.setApiParam(QCloud.StreamTTS.kVolume, this._volume)builder.setApiParam(QCloud.StreamTTS.kSpeed, this._speed)
配置合成任务相关参数
启动合成任务
使用上面的 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 |
Controller类说明
Controller 用于控制合成任务的流程
方法
1. synthesis(text: string): void
合成语音,此方法需要在接收到服务端ready事件后调用。
名称 | 类型 | 描述 |
text | string | 需要合成的文本 |
2. cancel(): void
取消合成任务,成功后task抛出取消异常。
3. stop(): 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
名称 | 类型 | 描述 |
msg | ArrayBuffer | 服务端返回的 json 数据 |
4. onReady?: () => void
服务端返回 ready 事件
错误码
合成任务抛出类型为 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 成功 |