tts 文本转换语音
2022-12-22 14:26:23 最后更新
用法:
--创建一个TTS对象
--输入赋值对象
local a = i:tts()

--创建一个TTS对象;并且直接设置播放
--输入赋值对象,输入语言代码,输入语速率,输入音高率,输入播放文字(可传入nil)
i:tts(a, "en", "I love you", 1, 1)

--获取TTS对象初始化状态;赋值变量返回 0未完成初始化 1初始化成功 -1初始化失败 -2初始化语言失败 -3当前TTS对象不可用
--输入TTS对象,输入标识,输入赋值变量
local b = i:tts(a, "zt")
syso(b)

--播放文字;模式 0替换以前的任务 1队列追加至后面
--输入TTS对象,输入标识,输入播放文字,输入模式,输入赋值变量
local b = i:tts(a, "st", "I love you", 0)
syso(b)

--文字转换音频文件
--输入TTS对象,输入标识,输入文字,输入保存路径,输入赋值变量
local b = i:tts(a, "ft", "I love you", "123.wav")
syso(b)

--设置语言
--输入TTS对象,输入标识,输入语言代码
i:tts(a, "lg", "en")

--设置语音播放速率。1为正常,值越低语速越慢(0.5是正常的一半),值越大语速越快(2是正常的两倍)
--输入TTS对象,输入标识,输入小数
i:tts(a, "se", 1)

--设置音高率,值越大声音越高音,值越小声音越低音,正常为1.0
--输入TTS对象,输入标识,输入小数
i:tts(a, "ph", 1)

--检查是否TTS正在播放
--输入TTS对象,输入标识
local b = i:tts(a, "ip")
syso(b)

--释放TTS使用的资源
--输入TTS对象,输入标识
i:tts(a, "re")

--停止所有任务
--输入TTS对象,输入标识,输入赋值变量
local b = i:tts(a, "sp")
syso(b)

--检查是否一个可用的TTS对象
--输入TTS对象,输入标识,输入赋值变量
local b = i:tts(a, "is")
syso(b)

说明:
常用于文本转化为音频,并且播放。

语言代码:
- 系统默认支持语言
美国    en
德国    de
意大利  it
法国    fr

- 需安装第三方语言包(讯飞语音TTS),并且设置语言
日本    ja
韩国    ko
中国    zh

安装与设置中文语言:

下载其中一个 
(4.0系统)讯飞语音TTS http://m.yx93.com/app.aspx?id=28515  
(2.2系统)讯飞语音TTS http://m.yx93.com/app.aspx?id=28513

安装 讯飞语音TTS

安卓手机》设置》语言和输入法》文本转语音输入》选择 讯飞语音合成 ,默认引擎 讯飞语音合成 , 语言 中文
(设置因为各品牌细节不同,但是都大同小异)

注意事项:
单独TTS对象创建后,需要有一个异步初始化过程,如果创建TTS对象然后直接播放文本将无法成功。需要先完成初始化后,然后播放文本。

注意事项:
文字转语音TTS输出;默认语言状态:完全支持 中文