MT-TTS
安卓原生离线语音合成引擎工具插件 包含两个工具:MT-TTS-Speech(调用系统已安装TTS)、MT-TTS-Baidu(调用百度离线SDK,需要自行购买授权)
MT-TTS-Speech
调用安卓系统已安装的TTS进行语音合成播放
相关免费的TTS引擎下载
对应的包名
com.google.android.tts 谷歌文字转语音引擎,不支持5.0以下系统,大小17.98M
com.iflytek.speechcloud 科大讯飞语音引擎3.0,支持4.0以上系统,大小27.27M
com.iflytek.speechsuite 新版科大讯飞语音引擎,2018年开始新版手机一般会内置,如oppo、vivo、华为
com.baidu.duersdk.opensdk 度秘语音引擎3.0 不支持5.0以下系统,大小11.95M
com.iflytek.tts 科大讯飞语音合成,较老,不支持7.0以上系统,大小9M
com.svox.pico 系统自带不支持中文语音
com.svox.classic 搜svox搜到的,和上面类似不支持中文
另外,科大讯飞引擎3.0安装后的名字叫:语音设置
使用方式
var TTSSpeech = uni.requireNativePlugin("MT-TTS-Speech");
API
- 初始化
init(callback, engineName?)
- 获取已系统安装的TTS
getInstallTTS(([{label, name}])=>{})
- 设置引擎
setEngine(engineName)
- 设置语调
setPitch(num)
0-100, 默认 50 - 设置语速
setSpeed(num)
0-100, 默认 50 - 获取状态
isSpeeking()
- 设置语言
setLanguage(name)
默认中文 - 播放
speak({text: 'test'})
- 停止
stop()
- 销毁
destroy()
- 打开语音设置
openSetting()
- 开始播放回调注册
(callback)
- 完成播放回调注册
onDone(callback)
- 播放出错回调注册
(callback)
示例
console.log("==监听TTS=="); TTSSpeech.getInstallTTS(list => { console.log("===="); list.forEach(v => console.log(`引擎名 ${v.label} 包名:${v.name}`)); }) TTSSpeech.init((status) => { if(status === 0){ console.log('引擎初始化成功') TTSSpeech.speak({ text: '支付宝收款100元'}) } }, 'com.iflytek.speechcloud')
未经允许不得转载:小罗同学 » uniapp for TTS离线语音合成