更新记录
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 |
Vue2插件版本 |
Vue3 |
Vue2插件版本 |
Chrome |
Chrome插件版本 |
Safari |
Safari插件版本 |
app-vue |
app-vue插件版本 |
app-nvue |
app-nvue插件版本 |
Android |
Android插件版本 |
iOS |
鸿蒙 |
√ |
1.0.0 |
√ |
1.0.0 |
33 |
1.0.0 |
7 |
1.0.0 |
√ |
1.0.0 |
√ |
1.0.0 |
5.0 |
1.0.0 |
× |
5.0.0 |
微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
快应用-华为 |
快应用-联盟 |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
uni-app x(4.55)
Chrome |
Chrome插件版本 |
Safari |
Safari插件版本 |
Android |
Android插件版本 |
iOS |
鸿蒙 |
鸿蒙插件版本 |
微信小程序 |
33 |
1.0.0 |
7 |
1.0.0 |
5.0 |
1.0.0 |
× |
5.0.0 |
1.0.0 |
× |
其他
离线 TTS 文本转语音播报中、英文(ima-tts)
ima-tts
是一款使用系统自带的能力将文字转成语音播报的UTS插件,支持选择语言
、语速
、音调
等配置,支持Android
、Harmony
、Web
需要权限
使用示例【此示例的代码只实现了语音播报
、暂停播报
、恢复播报
、停止播报
的逻辑,更多示例请导入项目】
<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 {
IReturn,
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 {
height: 65rpx;
width: 750rpx;
padding: 20rpx;
line-height: 65rpx;
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 |