三文带你轻松上手鸿蒙的 AI 语音 03-文本合成声音
前言
接上文 三文带你轻松上手鸿蒙的 AI 语音 02-声音文件转文本
HarmonyOS NEXT 提供的 AI 文本合并语音功能,可以将一段不超过 10000 字符的文本合成为语音并进行播报。
场景举例
- 手机在无网状态下,系统应用无障碍(屏幕朗读)接入文本转语音能力,为视障人士提供播报能力。
- 类似微信读书,可以实现将文章内容通过语音朗读,可以在无法不方便阅读文章时提供帮助,如一边送外卖一边听书。
实现效果

使用流程
- 创建文本合成语音引擎
- 设置监听回调
- 开始合成

创建文本合成语音引擎
文末会提供封装后的代码
创建文本合成语音引擎需要先引入 textToSpeech
,然后调用其 createEngine
方法时,需要准备 初始化引擎的参数

设置监听回调
调用完createEngine
时会返回相应实例,此时可以设置监听回调。
- onStart 播报开始时回调
- onStop 播报结束时回调
- onComplete 合成或播报结束后分别回调此接口,返回请求 ID,完成播报相关信息
- onData 合成播报过程中回调此接口,返回请求 ID,音频流信息,音频附加信息如格式、时长等。若需要返回音频流信息,请实现此接口。
- onError 合成播报过程中,出现错误时回调,返回请求 ID、错误码及错误描述。

开始合成
完成上面的实例创建和设置监听后,便可以调用 speak 方法开始合成了。但是在调用 speak 时,也需要传递相应的参数。

封装好的代码
页面中使用
Index.ets

总结
HarmonyOS NEXT 提供的 AI 文本合并语音功能,可以将一段不超过 10000 字符的文本合成为语音并进行播报
使用的步骤为 3 步
- 创建文本合成语音引擎
- 设置监听回调
- 开始合成