更新记录
1.0.0(2026-03-16)
文字转语音(文字播报、语音合成、免服务费)、震动提示 ba-tts-u-new(UTS版)
平台兼容性
uni-app(3.7.0)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | - | - | - | - | √ | √ | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - | - |
uni-app x(3.7.0)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | √ | √ | √ | - |
其他
| 多语言 | 暗黑模式 | 宽屏模式 |
|---|---|---|
| √ | × | √ |
ba-tts-u-new
UTS语音合成插件,提供 TTS 语音合成 和 振动 能力(无服务费),可用于播报提示、朗读内容等场景。(注意:建议先试用,再购买)。
- 同时支持三端(安卓、iOS、Harmony)
- 支持语音合成,文本转语音
- 支持震动
支持定制,有建议和需要,可点击这里
也可关注博客,实时更新最新插件
文字转语音(文字播报、语音合成、免服务费)、震动提示 Ba-TTS
使用说明
// 1. 引入
import { speak, stopSpeak, playVibrate, cancelVibrate } from '@/uni_modules/ba-tts-u-new';
// 2. TTS 朗读
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), // onStart / onDone / onError
});
// 3. 停止朗读
stopSpeak({
success: (res) => console.log('stop success', res),
});
// 4. 振动(单次约 500ms,具体时长依平台实现略有差异)
playVibrate({
// 可选:pattern: [0, 500],
success: (res) => console.log('vibrate success', res),
});
// 5. 取消振动(如平台支持)
cancelVibrate({
success: (res) => console.log('cancel vibrate success', res),
});
方法与参数清单
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.action 为 onStart / 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 |
否 | 成功或失败都会回调一次。 |

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 14151
赞赏 6
下载 11597748
赞赏 1877
赞赏
京公网安备:11010802035340号