更新记录
1.0.3(2020-12-31) 下载此版本
- 百度离线语音包 新增
setVolumn
方法用于设置音量 - 修复
destroy
方法拼写错误
1.0.2(2020-12-28) 下载此版本
1.0.2
2020/12/28
- 百度TTS新增
changeSpeeker
方法,用于切换发音人,离线可选发音人离线基础音库 - 包名和文档更新
1.0.1(2020-12-17) 下载此版本
1.0.1 2020/12/17
TTS、Speech、百度离线语音合成
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 10.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:支持 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
MT-TTS
安卓原生离线语音合成引擎工具插件 包含两个工具:MT-TTS-Speech(调用系统已安装TTS)、MT-TTS-Baidu(调用百度离线SDK,需要自行购买授权)
MT-TTS-Speech
调用安卓系统已安装的TTS进行语音合成播放
使用方式
const 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)
默认中文 - 播放
speek({text: 'test'})
- 停止
stop()
- 销毁
destroy()
- 打开语音设置
openSetting()
- 开始播放回调注册
onStart(callback)
- 完成播放回调注册
onDone(callback)
- 播放出错回调注册
onError(callback)
示例
TTSSpeech.getInstallTTS(list => {
list.forEach(v => console.log(`引擎名 ${v.label} 包名:${v.name}`));
})
TTSSpeech.init((status) => {
if(status === 0){
console.log('引擎初始化成功')
TTSSpeech.speek({ text: '语音播放成功'})
}
}, 'com.iflytek.speechcloud')
MT-TTS-Baidu
调用百度离线SDK,需要购买百度授权
使用方式
const TTSBaidu = uni.requireNativePlugin("MT-TTS-Baidu");
API
- 初始化
init(options, callback)
- 设置语调
setPitch(num)
范围 0-9,默认5 - 设置语速
setSpeed(num)
范围 0-9,默认5 - 设置语速
setVolumn(num)
范围 0-9,默认15 - 获取状态
isSpeeking()
- 播放
speek(text, utteranceId)
- 播放
changeSpeeker(text)
text: F(度小美)、M(度小宇)、Y(度丫丫)、X(度逍遥), 成功返回0 - 停止合成
stop()
- 暂停播放
paused()
- 恢复播放
resume()
- 销毁
destroy()
- 开始播放回调注册
onStart(callback)
- 完成播放回调注册
onDone(callback)
- 播放出错回调注册
onError(callback)
示例
TTSBaidu.init({
appId: '',
appKey: '',
secretKey: '',
sn: '', // 序列号
}, (status) => {
if(status === 0){
console.log('初始化成功')
TTSBaidu.speek('语音播放成功!');
}
})