更新记录

1.0.2(2026-06-11)

优化文档

1.0.1(2026-06-11)

震动方法优化

1.0.0(2026-03-16)

文字转语音(文字播报、语音合成、免服务费)、震动提示 ba-tts-u-new(UTS版)

查看更多

平台兼容性

uni-app(3.7.13)

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

uni-app x(3.7.13)

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

其他

多语言 暗黑模式 宽屏模式
×

ba-tts-u-new

UTS语音合成插件,提供 TTS 语音合成振动 能力(无服务费),可用于播报提示、朗读内容等场景。(注意:建议先试用,再购买)。

  • 同时支持 uni-app 与 uni-app x(API 一致;uni-app x 的 .uvue 页面需按 UTS 规范显式标注类型,见下方示例)
  • 同时支持三端(安卓、iOS、Harmony)
  • 支持语音合成,文本转语音
  • 支持震动

支持定制,有建议和需要,可点击这里

也可关注博客,实时更新最新插件

uniapp 常用原生插件大全

文字转语音(文字播报、语音合成、免服务费)、震动提示 Ba-TTS


安装与基座

  1. 在 HBuilderX 插件市场导入,或将 uni_modules/ba-tts-u-new 拷贝到项目 uni_modules/ 目录。
  2. 本插件为 UTS 原生插件,App 端调试与真机运行须使用自定义基座(或使用云打包 / 正式打包)。标准运行基座不包含本插件,直接运行会报插件不存在或调用失败。
  3. 导入或更新插件后,请在 HBuilderX 中 重新制作自定义基座,并在真机上安装该自定义基座后再调试。
  4. 正式发版时走云打包或本地打包即可,插件原生代码会一并编译进安装包。

使用说明

uni-app(.vue / .nvue,JavaScript)

import { speak, stopSpeak, playVibrate, cancelVibrate } from '@/uni_modules/ba-tts-u-new';

speak({
  text: '你好,世界',
  pitch: 1.0,
  speed: 1.0,
  success: (res) => console.log('speak success', res),
  fail: (res) => console.error('speak fail', res),
  complete: (res) => console.log('speak complete', res),
  statusChange: (res) => console.log('status', res.action, res.status),
});

stopSpeak({ success: (res) => console.log('stop success', res) });

playVibrate({ success: (res) => console.log('vibrate success', res) });

cancelVibrate({ success: (res) => console.log('cancel vibrate success', res) });

uni-app x(.uvue<script setup lang="uts">

UTS 编译器要求:导入类型回调参数显式标注类型options 对象使用 as StartOptions 等断言后再传入,否则可能报「参数类型不匹配 UTSJSONObject」等错误。

import {
  speak, stopSpeak, playVibrate, cancelVibrate,
  StartOptions, StopOptions, PlayVibrateOptions, CancelVibrateOptions,
  ApiResult, StatusResult
} from '@/uni_modules/ba-tts-u-new';

const options = {
  text: '你好,世界',
  pitch: 1.0,
  speed: 1.0,
  success: (res : ApiResult) => { console.log('speak success', res.msg) },
  fail: (res : ApiResult) => { console.error('speak fail', res.msg) },
  complete: (res : ApiResult) => { console.log('speak complete', res.msg) },
  statusChange: (res : StatusResult) => { console.log('status', res.action, res.status) }
} as StartOptions;
speak(options);

const stopOpts = {
  success: (res : ApiResult) => { console.log('stop success', res.msg) }
} as StopOptions;
stopSpeak(stopOpts);

const vibrateOpts = {
  // pattern: [0, 500],
  success: (res : ApiResult) => { console.log('vibrate success', res.msg) }
} as PlayVibrateOptions;
playVibrate(vibrateOpts);

const cancelOpts = {
  success: (res : ApiResult) => { console.log('cancel vibrate success', res.msg) }
} as CancelVibrateOptions;
cancelVibrate(cancelOpts);

方法与参数清单

speak(options: StartOptions)

功能:文本转语音播报。

参数 StartOptions

字段名 类型 必填 说明
text string 要朗读的文本,不能为空字符串。
pitch number 音调,默认 1.0,> 0 时有效。
speed number 语速,默认 1.0,> 0 时有效。
success (res: ApiResult) => void 调用成功回调,res.ok === true
fail (res: ApiResult) => void 调用失败回调,res.ok === false
complete (res: ApiResult) => void 成功或失败都会回调一次。
statusChange (res: StatusResult) => void TTS 状态回调:res.actiononStart / onDone / onError

回调结构:

type ApiResult = {
  ok: boolean;  // true/false
  msg: string;  // 描述信息,如 'success'、错误原因等
};

type StatusResult = {
  action: string; // "onStart" | "onDone" | "onError"
  status: string; // 平台返回的状态描述
};

stopSpeak(options: StopOptions)

功能:停止当前朗读并释放 TTS 实例(重复调用安全)。

参数 StopOptions

字段名 类型 必填 说明
success (res: ApiResult) => void 停止并释放成功时回调。
fail (res: ApiResult) => void 停止失败时回调(较少出现)。
complete (res: ApiResult) => void 成功或失败都会回调一次。

playVibrate(options: PlayVibrateOptions)

功能:触发振动(单次约 500ms,具体以平台为准)。

参数 PlayVibrateOptions

字段名 类型 必填 说明
pattern number[] 振动节奏数组,单位毫秒,如 [静默, 振动, 静默, 振动, ...],当前实现会优先取首项时长,未传则默认 500。
repeat number pattern 的某一索引开始重复;-1 表示不重复,当前实现主要使用单次振动。
success (res: ApiResult) => void 振动调用成功时回调。
fail (res: ApiResult) => void 振动调用失败时回调。
complete (res: ApiResult) => void 成功或失败都会回调一次。

cancelVibrate(options: CancelVibrateOptions)

功能:取消振动(若平台支持)。iOS 系统级振动本身不可取消,实现上直接返回成功以保证接口一致性。

参数 CancelVibrateOptions

字段名 类型 必填 说明
success (res: ApiResult) => void 取消成功时回调。
fail (res: ApiResult) => void 取消失败时回调。
complete (res: ApiResult) => void 成功或失败都会回调一次。

参考

隐私、权限声明

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

android.permission.VIBRATE

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

插件不采集任何数据

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