更新记录
1.0.1(2024-10-11)
兼容HBuilderX4.27 之后回调函数回收问题以及添加检测是否有引擎的函数
1.0.0(2024-08-03)
插件代码首次上传
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 4.21,Android:4.4,iOS:不确定,HarmonyNext:不确定 |
× |
× |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
× |
× |
× |
× |
× |
× |
× |
× |
× |
使用说明
下载试用本插件后,请重新打包自定义基座
该插件使用 android 的 TTS 引擎进行语音合成,可实现一些动态文本的播报功能等,默认使用 android 自带的原生 TTS 引擎,也可以自行下载谷歌、讯飞等第三方 TTS 引擎。
谷歌引擎下载地址:https://www.pgyer.com/xEuC
扫下面二维码下载 demo 查看效果
有关于该插件的疑问或者技术探讨可以联系作者
wx 号:z1003975792y
API 介绍
1、检测手机是否有 TTS 引擎
参数 |
类型 |
必填 |
备注 |
无 |
无 |
否 |
因为一些特殊的 android 手机没有自带的 TTS 引擎,所以添加该函数来检测是否有 TTS 引擎。(可以在手机的设置->语言与输入法->文字转语音输出查看是否有引擎,不同的手机位置有可能不同) |
import { isTTSAvailable } from '@/uni_modules/zy-tts'
isTTSAvailable() // 返回值 true 有TTS引擎,可以正常使用api,false 没有TTS引擎,api无法正常使用。常规的手机都有android原生的TTS引擎,如果没有的话,可以下载谷歌、讯飞等引擎。
2、播报函数 speak(自定义参数)
参数 |
类型 |
必填 |
备注 |
option |
object |
是 |
选项参数 |
import { speak } from '@/uni_modules/zy-tts'
let option = {
text: '你好,有问题请加作者微信z1003975792y', // 必填,文本
queue: 'QUEUE_ADD', // 选填,默认QUEUE_ADD,QUEUE_FLUSH 和 QUEUE_ADD:QUEUE_FLUSH 会清空当前队列并立即播放,QUEUE_ADD 会追加到当前播放队列的末尾
utteranceId: 'UUID', // 选填,可自定义,不填默认会自动生成UUID,每个播放请求生成一个唯一的 ID,以便在监听回调中识别是哪条数据播放
rate: 1, // 选填,默认1,语速,0.8慢速,1.2快速
pitch: 1, // 选填,默认1,语调,越小越接近男生,可自行尝试
}
speak(option)
3、播报函数 play(默认参数)
参数 |
类型 |
必填 |
备注 |
text |
string |
是 |
文本 |
import { play } from '@/uni_modules/zy-tts'
play('你好,欢迎来到语音合成插件, 有问题请联系作者!')
// 默认queue是QUEUE_ADD,语调是1,语速是1,utteranceId是UUID
4、停止播报函数 stop
import { stop } from '@/uni_modules/zy-tts'
stop()
5、监听播报开始函数 onStart
import { onStart } from '@/uni_modules/zy-tts'
onStart((utteranceId) => {
console.log(utteranceId) // 返回播放请求的id
})
6、监听播报结束函数 onEnd
import { onEnd } from '@/uni_modules/zy-tts'
onEnd((utteranceId) => {
console.log(utteranceId) // 返回播放请求的id
})
7、监听播报失败函数 onError
import { onError } from '@/uni_modules/zy-tts'
onError((utteranceId) => {
console.log(utteranceId) // 返回播放请求的id
})
8、监听播报停止函数 onStop
import { onStop } from '@/uni_modules/zy-tts'
onStop((utteranceId) => {
console.log(utteranceId) // 返回播放请求的id
})