更新记录

1.0.2(2025-03-06)

修复回调不能持续问题;新增tts引擎下载和检测

1.0.1(2024-07-18)

1.0.1

  1. 完善android语音播放.

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.6.11,Android:5.0,iOS:不支持,HarmonyNext:不确定 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

fy-tts

开发文档

UTS 语法 UTS API插件 UTS 组件插件 Hello UTS

接口事件说明

方法 参数 返回 说明
init TTSOptions void 初始化回调监听
isSuccess void ResultOptions 测试TTS初始化是否成功
installEngine void ResultOptions 下载tts引擎; 部分android手机可能没有自带的tts引擎服务,可以使用getDefaultEngine判断是否有引擎,没有需要提示用户安装后再使用
getDefaultEngine void ResultOptions 获取默认语音合成引擎的包名称
getContentStatus void Promise 获取当前tts状态;0未连接,1=连接成功,2连接失败
speak speakOptions ResultOptions 文本合成语音;多次调用speak方法,会自动加入语音合成队列中;
stop void ResultOptions 中断当前话语(无论是播放还是渲染到文件)并丢弃队列中的其他话语。
close void void 销毁TTS服务
getDefaultVoice void ResultOptions 返回语音实例,该实例是默认的文本语音转换语言的默认语音。
getVoice void ResultOptions 返回描述当前用于发送到TextToSpeech引擎的综合请求的语音的语音实例。
getVoices void ResultOptions 向引擎查询可用语音集
isSpeaking void ResultOptions 检查TTS引擎是否正忙于说话
setSpeechRate speechRate: Float ResultOptions 设置语音速率; speechRate 语音速率。1.0是正常的语音速率,较低的值会减慢语音(0.5是正常语音速率的一半),较大的值会加速语音(2.0是正常语音率的两倍)。
setPitch voicePitch: Float ResultOptions 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规
setVoice voiceName: string ResultOptions 设置文本到语音的语音

TTSOptions 参数说明

参数名 类型 必填 说明
onStart Function 发言开始时执行
onDone Function 发言完成时执行
onError Function 发言出错时执行

ResultOptions返回参数说明

参数名 类型 说明
code number 判断是否是成功还是错误。0成功,其他为失败
message string 返回调用说明
data any 返回的数据

例子

<template>
    <view class="content">
        <view class="">
            <button @click="handleStart">开始</button>
            <button @click="handleStop">结束</button>
        </view>
    </view>
</template>

<script>
import { FyTTS } from '@/uni_modules/fy-tts';
let tts = null;
export default {
    data() {
        return {
            title: 'Hello'
        }
    },
    onReady() {
        // 实例化tts
        tts = new FyTTS();
        // 检测是否有tts引擎
        const engineRes = tts.getDefaultEngine();
        if (engineRes?.code != 1) {
            uni.showModal({
                content: `当前设备缺少tts引擎,是否前往安装?`,
                success(e) {
                    if (e.confirm) {
                        tts.installEngine();
                    }
                }
            })
        }
        // 因uniapp的限制,回调监听需放在函数中。
        tts.init({
            onStart(uuid) { // 发言开始
                console.log(uuid)
            },
            onDone(uuid) { // 发言完成
                console.log(uuid)
            },
            onError(uuid) { // 发言报错
                console.log(uuid)
            },
        });
    },
    methods: {
        handleStart() {
            // tts.speak('你好', [uuid]);
            tts.speak({ text: '你好' });
            tts.speak({ text: '今天天气真不错!', uuid: '123144' });
        },
        handleStop() {
            // tts.stop();
            // 建议使用close销毁
            tts.close();
        }
    }
}
</script>

重点:部分设备可能不支持,建议先调用tts.getContentStatus方法检测后再使用

隐私、权限声明

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

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

插件不采集任何数据

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

暂无用户评论。

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