更新记录
1.0.1(2025-10-23)
新增功能
- 无
问题修复
web的加密会进行云端编译,试用时仅支持uni-app x,调整页面使其兼容uni-app x,具体请看文档说明!
功能优化
- 无
1.0.0(2025-10-21)
新增功能
- 新增了
initTTS(初始化 TTS 引擎)、resetTTS(重置 TTS 引擎)、isTTS(检查是否支持 TTS)、isSpeaking(检查是否正在播报)、getVoices(获取音色列表)、getLanguages(获取可用语言列表)、setVoice(设置发音人)、setLanguage(设置语言)、setVolume(设置音调)、setPitch(设置音调)、setSpeed(设置语速)、speak(语音播报)、pause(暂停播报)、resume(恢复播报)、stop(停止播报)、destroy(释放资源)的方法 - 支持
Android、Harmony、Web - 初始版本
问题修复
- 无
功能优化
- 无
平台兼容性
uni-app(4.55)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | 33 | 7 | √ | √ | 5.0 | × | 5.0.0 |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × |
uni-app x(4.55)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| 33 | 7 | 5.0 | × | 5.0.0 | × |
其他
| 多语言 | 暗黑模式 | 宽屏模式 |
|---|---|---|
| √ | × | √ |
离线 TTS 文本转语音播报中、英文(ima-tts)
ima-tts 是一款使用系统自带的能力将文字转成语音播报的UTS插件,支持选择语言、语速、音调等配置,支持Android、Harmony、Web
注意!!! Web在试用时仅支持uni-app x
- 1、联系官方,得知
web的加密会进行云端编译,所以试用时仅支持uni-app x - 2、
使用 HBuilderX 导入示例项目请选择uni-app x【重要!!!】 - 3、请将
pages/index/index.vue改成pages/index/index.nvue即可【重要!!!】 - 4、
购买普通授权版后,请联系作者提供源码(仅提供web版的源码),即可同时在uni-app、uni-app x中使用
需要权限
- 无
使用示例【此示例的代码只实现了语音播报、暂停播报、恢复播报、停止播报的逻辑,更多示例请导入项目】
<template>
<view class="container content">
<view class="content-title">语音控制</view>
<view class="content-message">(语音播放、暂停、继续、停止等)</view>
<view class="content-button ima-xxx" @click="initTTSHandle">初始化</view>
<view class="content-button ima-xxx" @click="playSpeak">播放语音</view>
<view class="content-button ima-xxx" @click="pauseSpeak">暂停播放</view>
<view class="content-button ima-xxx" @click="resumeSpeak">继续播放</view>
<view class="content-button ima-xxx" @click="stopSpeak">停止播放</view>
</view>
</template>
<script lang="ts">
import {
initTTS,
speak,
stop,
pause,
resume,
destroy
} from '@/uni_modules/ima-tts'
export default {
data() {
return {}
},
onLoad(options) {
this.initTTSHandle()
},
methods: {
// 初始化
initTTSHandle() {
initTTS('zh-CN').then((res: IReturn) => {
if (res.success) {
console.log(res.message)
} else {
console.log(res.message)
}
})
},
// 播放
playSpeak() {
const text1 = '1 2 3 4 5,上山打老虎。老虎不在家,打了小松鼠。松鼠有几只,仔细数一数,1 2 3 4 5。'
speak(text2).then((res: IReturn) => {
if (res.success) {
console.log(res.message)
} else {
console.log(res.message)
}
})
},
// 暂停播放
pauseSpeak() {
pause().then((res: IReturn) => {
if (res.success) {
console.log(res.message)
} else {
console.log(res.message)
}
})
},
// 继续播放
resumeSpeak() {
resume().then((res: IReturn) => {
if (res.success) {
console.log(res.message)
} else {
console.log(res.message)
}
})
},
// 停止播放
stopSpeak() {
stop().then((res: IReturn) => {
if (res.success) {
console.log(res.message)
} else {
console.log(res.message)
}
})
},
},
onUnmounted() {
destroy().then((res: IReturn) => {
if (res.success) {
console.log(res.message)
} else {
console.log(res.message)
}
})
}
}
</script>
<style lang="scss">
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
&-title {
margin-top: 10rpx;
padding: 10rpx;
font-size: 44rpx;
font-weight: 800;
color: #ff0000;
}
&-message {
font-size: 28rpx;
font-weight: 800;
text-align: center;
color: #ff6700;
}
&-button {
width: 750rpx;
padding: 20rpx;
// #ifndef UNI-APP-X
height: 40rpx;
line-height: 40rpx;
// #endif
text-align: center;
background: #00e0f1;
margin-bottom: 25rpx;
}
}
</style>
方法
| 方法名称 | 说明 | 方法参数 | 平台 |
|---|---|---|---|
| initTTS | 初始化 TTS 引擎 | options?: ISpeakOptions |
Android、Harmony、Web |
| resetTTS | 重置 TTS 引擎 | 无 | Android、Harmony、Web |
| isTTS | 检查是否支持 TTS | 无 | Android、Harmony、Web |
| isSpeaking | 检查是否正在播报 | 无 | Android、Harmony、Web |
| getVoices | 获取音色列表 | voice: all(所有语音)、used(当前语言的语音)、string(具体语音名称,如: "Aaron"、"婷婷") |
Harmony、Web |
| getLanguages | 获取可用语言列表 | voice: all(所有语言)、used(当前语言)、string(具体语言名称,如:"en-US"、"zh-CN") |
Android、Harmony、Web |
| setVoice | 设置发音人 | voice : 可用音色列表参数(数据来源getVoices中返回的) |
Harmony、Web |
| setLanguage | 设置语言 | lang : 可用语言列表参数(数据来源getLanguages中返回的) |
Android、Harmony、Web |
| setVolume | 设置音量 | volume: 音调值(范围值: 0.1~10,不同平台不一致) | Harmony、Web |
| setPitch | 设置音调 | pitch: 音调值(范围值: 0.1~10,不同平台不一致) | Android、Harmony、Web |
| setSpeed | 设置语速 | speed: 语速值(范围值: 0.1~10,不同平台不一致) | Android、Harmony、Web |
| speak | 语音播报 | text: 播报文本 | Android、Harmony、Web |
| pause | 暂停播报 | 无 | Android、Harmony、Web |
| resume | 恢复播报 | 无 | Android、Harmony、Web |
| stop | 停止播报 | 无 | Android、Harmony、Web |
| destroy | 释放资源 | 无 | Android、Harmony、Web |
ISpeakOptions 参数类型
| 参数名 | 说明 | 类型 | 平台 |
|---|---|---|---|
| lang | 语种: "en-US"、"zh-CN" | string | Android、Harmony、Web |
| speed | 语速: 0.0-1.0 | number | Android、Harmony、Web |
| pitch | 音调: 0.5-2.0 | number | Android、Harmony、Web |
| volume | 音量: 0.0-1.0 | number | Harmony、Web |
| voice | 音色: Harmony(number)\Web(string) |
string \ number | Harmony、Web |

收藏人数:
购买普通授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 333
赞赏 1
下载 11978005
赞赏 1821
赞赏
京公网安备:11010802035340号