更新记录

1.0.0(2026-04-10)

  • 新版发布

平台兼容性

uni-app(4.81)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
× × × × × × × × × × × ×

uni-app x(4.81)

Chrome Safari Android iOS 鸿蒙 微信小程序
× × ×

yt-native-tts 原生离线语音合成插件无任何第三方

开发文档

UTS 语法 UTS API插件 UTS uni-app兼容模式组件 UTS 标准模式组件 Hello UTS

特别提醒

  • 购买本插件前,请先试用,请先试用,请先试用,确认满足需求之后再行购买。虚拟物品一旦购买之后无法退款。
  • 如有使用上的疑问、bug,可以进交流群联系作者;
  • 请在合法范围内使用,若使用本插件做非法开发,本方概不负责;
  • iOS使用示例demo测试时,要先修改manifest中项目名称后再打包(名称长度尽量短一点),不然会因为名称过长,导致App启动不了。

插件接入

1.点击插件首页”试用“,选择项目导入插件,导入后可在项目根目录下uni_modules文件中查看是否有yt-tts文件夹,有则导入成功。

引入插件--注意需引用插件后再打自定义基座调试

在需要使用的页面引入插件

import *as TTSManger from '@/uni_modules/yt-tts'

初始化

调用合成前调用。非uniapp ts项目或者uniapp-x项目去掉 as TTSManger.InitOptions类型转换。

TTSManger.initTTS({
        onStart: () => {//开始合成回调
            console.log('开始合成')
        },
        onComplete: () => {//合成完成/停止合成回调
            console.log('合成完成/结束')
        },
        onContinue: () => {//恢复播报回调iOS独有
            console.log('恢复播报iOS独有')
        },
        onPause: () => {//暂停播报回调iOS独有
            console.log('暂停播报iOS独有')
        },
        onError: (res) => {//错误信息回调
           console.log(res)
        }
    } as TTSManger.InitOptions)

开始合成

TTSManger.startSpeaking('大家好,欢迎使用原生语音合成插件');

停止合成

TTSManger.stopSpeaking()

暂停播报(仅iOS有效)

TTSManger.pauseSpeaking()

恢复播报(仅iOS有效)

TTSManger.resumeSpeaking()

前往TTS引擎设置页(仅安卓)

TTSManger.openTTSSettings()

获取系统引擎(仅安卓)

TTSManger.getAllTTSEngines(res => {
    console.log(res);
    //输出[ {engineName: "系统语音引擎", enginePackage: "com.xiaomi.mibrain.speech"} ]
})

配置播报参数

非uniapp ts项目或者uniapp-x项目去掉 as TTSManger.ConfigSpeechOptions类型转换。

TTSManger.setSpeechOptions({
    speed: 1,
    volume: 1,
    pitch: 1.0
} as TTSManger.ConfigSpeechOptions)

更多好用实惠插件

uniapp完整示例

<template>
    <view class="content">
        <image class="logo" src="/static/logo.png"></image>
        <view style="display: flex;flex-direction: column;width: 750rpx;align-items: center;">
            <view class="btn" @click="initTTS">初始化</view>
            <view class="btn" @click="startSpeaking">开始合成</view>
            <view class="btn" @click="pauseSpeaking">暂停合成(仅iOS有效)</view>
            <view class="btn" @click="resumeSpeaking">恢复合成(仅iOS有效)</view>
            <view class="btn" @click="stopSpeaking">停止合成</view>
            <view class="btn" @click="openTTSSettings">前往TTS引擎设置页(仅安卓)</view>
            <view class="btn" @click="getAllTTSEngines">获取系统引擎(仅安卓)</view>
            <view class="btn" @click="setSpeechOptions">配置播报参数</view>
        </view>
    </view>
</template>

<script>
    import * as TTSManger from '@/uni_modules/yt-tts'
    export default {
        data() {
            return {
                title: 'Hello'
            }
        },
        onLoad() {

        },
        methods: {
            initTTS() {
                TTSManger.initTTS({
                    onStart: () => {
                        console.log('开始合成')
                    },
                    onComplete: () => {
                        console.log('合成完成/结束')
                    },
                    onContinue: () => {
                        console.log('恢复播报iOS独有')
                    },
                    onPause: () => {
                        console.log('暂停播报iOS独有')
                    },
                    onError: (res) => {
                        console.log(res)
                    }
                })
            },
            startSpeaking() {
                TTSManger.startSpeaking('大家好,欢迎使用原生语音合成插件123456');
            },
            pauseSpeaking() {
                TTSManger.pauseSpeaking()
            },
            resumeSpeaking() {
                TTSManger.resumeSpeaking()
            },
            stopSpeaking() {
                TTSManger.stopSpeaking()
            },
            openTTSSettings() {
                TTSManger.openTTSSettings()
            },
            getAllTTSEngines() {
                TTSManger.getAllTTSEngines(res => {
                    console.log(res);
                })
            },
            //配置播报参数
            setSpeechOptions() {
                TTSManger.setSpeechOptions({
                    speed: 1,
                    volume: 1,
                    pitch: 1.0
                })
            }
        }
    }
</script>

<style>
    .content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .logo {
        height: 200rpx;
        width: 200rpx;
        margin-top: 200rpx;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 50rpx;
    }

    .btn {
        width: 690rpx;
        height: 88rpx;
        margin: 10rpx 0;
        background-color: antiquewhite;
        border-radius: 10rpx;
        display: flex;
        align-items: center;
        justify-content: center;
    }
</style>

uniapp-x完整示例

<template>
    <view style="display: flex;flex-direction: column;width: 750rpx;align-items: center;">
        <view class="btn" @click="initTTS">初始化</view>
        <view class="btn" @click="startSpeaking">开始合成</view>
        <view class="btn" @click="pauseSpeaking">暂停合成(仅iOS有效)</view>
        <view class="btn" @click="resumeSpeaking">恢复合成(仅iOS有效)</view>
        <view class="btn" @click="stopSpeaking">停止合成</view>
        <view class="btn" @click="openTTSSettings">前往TTS引擎设置页(仅安卓)</view>
        <view class="btn" @click="getAllTTSEngines">获取系统引擎(仅安卓)</view>
        <view class="btn" @click="setSpeechOptions">配置播报参数</view>
    </view>
</template>

<script>
    import *as TTSManger from '@/uni_modules/yt-tts'
    export default {
        data() {
            return {

            }
        },
        onLoad() {

        },
        methods: {
            initTTS() {
                TTSManger.initTTS({
                    onStart: () => {
                        console.log('开始合成')
                    },
                    onComplete: () => {
                        console.log('合成完成/结束')
                    },
                    onContinue: () => {
                        console.log('恢复播报iOS独有')
                    },
                    onPause: () => {
                        console.log('暂停播报iOS独有')
                    },
                    onError: (res) => {
                        console.log(res)
                    }
                } as TTSManger.InitOptions)
            },
            startSpeaking() {
                TTSManger.startSpeaking('大家好,欢迎使用原生语音合成插件');
            },
            pauseSpeaking() {
                TTSManger.pauseSpeaking()
            },
            resumeSpeaking() {
                TTSManger.resumeSpeaking()
            },
            stopSpeaking() {
                TTSManger.stopSpeaking()
            },
            openTTSSettings() {
                TTSManger.openTTSSettings()
            },
            getAllTTSEngines() {
                TTSManger.getAllTTSEngines(res => {
                    console.log(res);
                })
            },
            //配置播报参数
            setSpeechOptions() {
                TTSManger.setSpeechOptions({
                    speed: 1,
                    volume: 1,
                    pitch: 1.0
                } as TTSManger.ConfigSpeechOptions)
            }
        }
    }
</script>

<style>
    .logo {
        height: 100px;
        width: 100px;
        margin: 100px auto 25px auto;
    }

    .btn {
        width: 690rpx;
        height: 88rpx;
        margin: 10rpx 0;
        background-color: antiquewhite;
        border-radius: 10rpx;
        display: flex;
        align-items: center;
        justify-content: center;
    }
</style>

隐私、权限声明

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

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

插件不采集任何数据

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