更新记录
1.0(2026-01-01)
1、支持基本的文转语音功能
平台兼容性
uni-app(4.0)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| - |
- |
- |
- |
√ |
√ |
√ |
√ |
√ |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| - |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
其他
| 多语言 |
暗黑模式 |
宽屏模式 |
蒸汽模式 |
| × |
× |
× |
√ |
请先试用,没问题再购买!
wg-tts 跨平台文字转语音插件
本插件是基于 UTS 开发的轻量级、高性能文字转语音(TTS)组件。支持 Android、iOS 和 鸿蒙 NEXT 三端,直接调用系统底层引擎,具有 零增加包体积、超低延迟、无需联网 等核心优势。
快速上手
1. 导入插件
在您的 .vue 或 .uvue 文件中直接引用:
import { checkSupport, speak, stop, isSpeaking } from "@/uni_modules/wg-tts";
2. 环境检查
建议在页面加载或 App 启动时调用:
async function init() {
const errorMsg = await checkSupport();
if (errorMsg == null) {
console.log("当前环境支持播放");
} else {
console.error("环境不支持:" + errorMsg);
}
}
3. 开始播放
speak({
text: "欢迎使用 UTS 跨平台语音插件",
rate: 1.0, // 语速
pitch: 1.0, // 音调
volume: 1.0, // 音量
onEnd: () => {
console.log("播报结束");
},
onError: (err) => {
console.error("播报出错:", err);
},
});
API 参考
方法定义
| 方法名 |
说明 |
返回值 |
checkSupport() |
异步检查当前平台是否支持 TTS。Android 会尝试绑定 Service。 |
Promise<string | null> (null 为支持) |
speak(options) |
开始语音合成并播放。若当前有任务正在播放,会执行 QUEUE_FLUSH 中断并开始新任务。 |
void |
stop() |
立即停止当前的播放任务并重置状态。 |
void |
isSpeaking() |
获取当前是否处于播报中或引擎忙碌状态。 |
boolean |
destroy() |
彻底释放原生引擎资源(建议在应用退出或长时间不使用时调用)。 |
void |
SpeakOptions 参数说明
| 参数名 |
类型 |
默认值 |
说明 |
| text |
string |
- |
必填。待合成的文本内容。 |
| rate |
number |
1.0 |
语速。建议范围 0.5 - 2.0 (iOS 0.5 约为正常语速)。 |
| pitch |
number |
1.0 |
音调。建议范围 0.5 - 2.0。 |
| volume |
number |
1.0 |
音量。范围 0.0 - 1.0。 |
| lang |
string |
'zh-CN' |
语言。支持 'zh-CN', 'en-US' 等。 |
| onEnd |
() => void |
- |
播放顺利完成时的回调。 |
| onError |
(error: string) => void |
- |
初始化或播放失败时的错误回调。 |
各平台注意事项
Android
- 引擎依赖:Android 系统必须安装 TTS 引擎(如 Google TTS、讯飞语记等)。
iOS
- 硬件开关:若手机侧边“硬件静音开关”开启,播放可能无声。
- 语速差异:iOS 的语速范围为 0.0 - 1.0,0.5 通常为标准速度。
鸿蒙 NEXT
- 系统版本:仅支持 HarmonyOS NEXT 4.0 及以上版本。
- 异步特性:引擎初始化是异步过程,首次调用
speak 可能会有轻微延迟。