更新记录

1.0.1(2024-10-11)

兼容HBuilderX4.27 之后回调函数回收问题以及添加检测是否有引擎的函数

1.0.0(2024-08-03)

插件代码首次上传


平台兼容性

Vue2 Vue3
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 查看效果

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
})

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问