更新记录

1.0.0(2025-11-19)

安卓百度语音合成UTS原生插件提供高度拟人、流畅自然的语音合成服务,满足泛阅读、订单播报、智能硬件等场景的语音播报需求,插件提供语音合成并生成合成文件以及合成消息回调等功能,支持批量合成并播报


平台兼容性

uni-app(4.0)

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

uni-app x(4.0)

Chrome Safari Android Android插件版本 iOS 鸿蒙 微信小程序
× × 5.0 1.0.0 × - ×

其他

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

插件介绍

安卓百度语音合成UTS原生插件是根据语音合成 Android SDK开发的插件,提供高度拟人、流畅自然的语音合成服务,满足泛阅读、订单播报、智能硬件等场景的语音播报需求。插件提供语音合成并生成合成文件以及合成消息回调等功能,支持批量合成并播报,插件支持uniapp和uniapp x

用法:

在需要使用插件的页面加载以下代码

  import * as module from "@/uni_modules/leven-uts-bdTts"

使用文档

插件方法

  • 申请权限
  • 检查是否有所有文件访问权限
  • 跳转到所有文件访问权限页面
  • 获取sdk版本号
  • 初始化SDK
  • 合成并播放
  • 批量合成并播放
  • 只合成不播放
  • 暂停播放
  • 继续播放
  • 停止合成
  • 释放资源

具体方法的使用请参考

页面内容参考

<template>
 <view>
   <button type="primary" @click="requestPermissions">申请插件所需权限</button>
   <button type="primary" @click="checkAllFilesPermission">检查是否有所有文件访问权限</button>
   <button type="primary" @click="toAllFilesPermissionPage">跳转到所有文件访问权限页面</button>
   <button type="primary" @click="getVersion">获取sdk版本号</button>
   <button type="primary" @click="init">初始化</button>
   <button type="primary" @click="speak">合成并播放</button>
   <button type="primary" @click="batchSpeak">批量合成并播放</button>
   <button type="primary" @click="synthesize">只合成不播放</button>
   <button type="primary" @click="pause">暂停播放</button>
   <button type="primary" @click="resume">继续播放</button>
   <button type="primary" @click="stop">停止合成</button>
   <button type="primary" @click="release">释放资源</button>
 </view>
</template>

<script>
 // const module = uni.requireNativePlugin("leven-bdTts-TtsModule");
 import * as module from "@/uni_modules/leven-uts-bdTts"
 export default {
   data() {
     return {}
   },
   onLoad() {

   },
   methods: {
     //释放资源
     release() {
       module.release(res => {
         console.log(res)
       })
     },
     //停止合成
     stop() {
       module.stop(res => {
         console.log(res)
       })
     },
     //继续播放
     resume() {
       module.resume(res => {
         console.log(res)
       })
     },
     //暂停播放
     pause() {
       module.pause(res => {
         console.log(res)
       })
     },
     //只合成不播放
     synthesize() {
       module.synthesize({
         //合成内容
         text: "欢迎使用百度语音合成SDK,百度语音为你提供支持。",
         //保存的文件路径,不设置默认保存到安装目录
         saveFilePath: "/storage/emulated/0/levenUtsBdTts/",
         // 设置在线发声音人: 0 普通女声(默认) 1 普通男声 3 情感男声<度逍遥> 4 情感儿童声<度丫丫>, 其它发音人见文档
         // speaker: "0",
         // 设置合成的音量,0-15 ,默认 5
         // volume: "15",
         // 设置合成的语速,0-15 ,默认 5
         // speed: "5",
         // 设置合成的语调,0-15 ,默认 5
         // pitch: "5",
         //模式
         // MIX_MODE_DEFAULT 默认 ,wifi状态下使用在线,非wifi离线。在线状态下,请求超时6s自动转离线
         // MIX_MODE_HIGH_SPEED_SYNTHESIZE_WIFI wifi状态下使用在线,非wifi离线。在线状态下, 请求超时1.2s自动转离线
         // MIX_MODE_HIGH_SPEED_NETWORK , 3G 4G wifi状态下使用在线,其它状态离线。在线状态下,请求超时1.2s自动转离线
         // MIX_MODE_HIGH_SPEED_SYNTHESIZE, 2G 3G 4G wifi状态下使用在线,其它状态离线。在线状态下,请求超时1.2s自动转离线
         // mixMode: "MIX_MODE_DEFAULT",
         //模式超时时间,可选值:PARAM_MIX_TIMEOUT_TWO_SECOND, PARAM_MIX_TIMEOUT_THREE_SECOND,PARAM_MIX_TIMEOUT_FOUR_SECOND
         // mixModeTimeout: "PARAM_MIX_TIMEOUT_TWO_SECOND",
         //语音模型,可选值:duxiaoyu,navi,duxiaoyao,duyaya
         // voiceType: "duxiaoyu",
         //自定义语音模型,需放置到asset根目录下(dat文件名)
         // customVoiceType:""
       }, res => {
         console.log(res)
       })
     },
     //批量合成并播放
     batchSpeak() {
       module.batchSpeak({
         //合成内容
         texts: [{
           text: "开始批量播放,",
           utteranceId: "a1"
         }, {
           text: "123456,",
           utteranceId: "a2"
         }, {
           text: "欢迎使用百度语音,,,",
           utteranceId: "a3"
         }, {
           text: "重(chong2)量这个是多音字示例",
           utteranceId: "a4"
         }],
         //是否保存合成文件
         saveFile: true,
         //保存的文件路径,不设置默认保存到安装目录
         saveFilePath: "/storage/emulated/0/levenUtsBdTts/",
         // 设置在线发声音人: 0 普通女声(默认) 1 普通男声 3 情感男声<度逍遥> 4 情感儿童声<度丫丫>, 其它发音人见文档
         // speaker: "0",
         // 设置合成的音量,0-15 ,默认 5
         // volume: "15",
         // 设置合成的语速,0-15 ,默认 5
         // speed: "5",
         // 设置合成的语调,0-15 ,默认 5
         // pitch: "5",
         //模式
         // MIX_MODE_DEFAULT 默认 ,wifi状态下使用在线,非wifi离线。在线状态下,请求超时6s自动转离线
         // MIX_MODE_HIGH_SPEED_SYNTHESIZE_WIFI wifi状态下使用在线,非wifi离线。在线状态下, 请求超时1.2s自动转离线
         // MIX_MODE_HIGH_SPEED_NETWORK , 3G 4G wifi状态下使用在线,其它状态离线。在线状态下,请求超时1.2s自动转离线
         // MIX_MODE_HIGH_SPEED_SYNTHESIZE, 2G 3G 4G wifi状态下使用在线,其它状态离线。在线状态下,请求超时1.2s自动转离线
         // mixMode: "MIX_MODE_DEFAULT",
         //模式超时时间,可选值:PARAM_MIX_TIMEOUT_TWO_SECOND, PARAM_MIX_TIMEOUT_THREE_SECOND,PARAM_MIX_TIMEOUT_FOUR_SECOND
         // mixModeTimeout: "PARAM_MIX_TIMEOUT_TWO_SECOND",
         //语音模型,可选值:duxiaoyu,navi,duxiaoyao,duyaya
         // voiceType: "duxiaoyu",
         //自定义语音模型,需放置到asset根目录下(dat文件名)
         // customVoiceType:""
       }, res => {
         console.log(res);
       })
     },
     //合成并播放
     speak() {
       module.speak({
         //合成内容
         text: "百度语音合成适用于泛阅读、订单播报、智能硬件等应用场景,让您的应用、设备开口说话,更具个性。",
         //是否保存合成文件
         saveFile: true,
         //保存的文件路径,不设置默认保存到安装目录
         saveFilePath: "/storage/emulated/0/levenUtsBdTts/",
         // 设置在线发声音人: 0 普通女声(默认) 1 普通男声 3 情感男声<度逍遥> 4 情感儿童声<度丫丫>, 其它发音人见文档
         // speaker: "0",
         // 设置合成的音量,0-15 ,默认 5
         // volume: "15",
         // 设置合成的语速,0-15 ,默认 5
         // speed: "5",
         // 设置合成的语调,0-15 ,默认 5
         // pitch: "5",
         //模式
         // MIX_MODE_DEFAULT 默认 ,wifi状态下使用在线,非wifi离线。在线状态下,请求超时6s自动转离线
         // MIX_MODE_HIGH_SPEED_SYNTHESIZE_WIFI wifi状态下使用在线,非wifi离线。在线状态下, 请求超时1.2s自动转离线
         // MIX_MODE_HIGH_SPEED_NETWORK , 3G 4G wifi状态下使用在线,其它状态离线。在线状态下,请求超时1.2s自动转离线
         // MIX_MODE_HIGH_SPEED_SYNTHESIZE, 2G 3G 4G wifi状态下使用在线,其它状态离线。在线状态下,请求超时1.2s自动转离线
         // mixMode: "MIX_MODE_DEFAULT",
         //模式超时时间,可选值:PARAM_MIX_TIMEOUT_TWO_SECOND, PARAM_MIX_TIMEOUT_THREE_SECOND,PARAM_MIX_TIMEOUT_FOUR_SECOND
         // mixModeTimeout: "PARAM_MIX_TIMEOUT_TWO_SECOND",
         //语音模型,可选值:duxiaoyu,navi,duxiaoyao,duyaya
         // voiceType: "duxiaoyu",
         //自定义语音模型,需放置到asset根目录下(dat文件名)
         // customVoiceType:""
       }, res => {
         console.log(res);
       })
     },
     getVersion() {
       module.getVersion(res => {
         console.log(res)
       })
     },
     //初始化
     init() {
       module.initSdk({
         //网页上应用的appId,申请纯离线SDK鉴权的必备信息
         appId: "***",
         //网页上应用的appKey
         appKey: "Jeva58gMRCWfCFu3iQX0Qkfu",
         //网页上应用的secretKey
         secretKey: "7azxFEumSZCUTR7dU0Bv0YnZwyuGIhKA",
         //官网获取的激活纯离线sdk的序列号
         sn: "96b4e81a-74de7ca1-2b12-0274-7bbb6-00",
         //以下参数可以在初始化中不设置,支持在合成的时候设置
         // 设置在线发声音人: 0 普通女声(默认) 1 普通男声 3 情感男声<度逍遥> 4 情感儿童声<度丫丫>, 其它发音人见文档,也可以在合成的时候设置
         speaker: "0",
         // 设置合成的音量,0-15 ,默认 5
         volume: "15",
         // 设置合成的语速,0-15 ,默认 5
         speed: "5",
         // 设置合成的语调,0-15 ,默认 5
         pitch: "5",
         //模式
         // MIX_MODE_DEFAULT 默认 ,wifi状态下使用在线,非wifi离线。在线状态下,请求超时6s自动转离线
         // MIX_MODE_HIGH_SPEED_SYNTHESIZE_WIFI wifi状态下使用在线,非wifi离线。在线状态下, 请求超时1.2s自动转离线
         // MIX_MODE_HIGH_SPEED_NETWORK , 3G 4G wifi状态下使用在线,其它状态离线。在线状态下,请求超时1.2s自动转离线
         // MIX_MODE_HIGH_SPEED_SYNTHESIZE, 2G 3G 4G wifi状态下使用在线,其它状态离线。在线状态下,请求超时1.2s自动转离线
         mixMode: "MIX_MODE_DEFAULT",
         //模式超时时间,可选值:PARAM_MIX_TIMEOUT_TWO_SECOND, PARAM_MIX_TIMEOUT_THREE_SECOND,PARAM_MIX_TIMEOUT_FOUR_SECOND
         mixModeTimeout: "PARAM_MIX_TIMEOUT_TWO_SECOND",
         //语音模型,可选值:duxiaoyu,navi,duxiaoyao,duyaya
         voiceType: "navi",
         //自定义语音模型,需放置到asset根目录下(dat文件名)
         // customVoiceType:""
       }, res => {
         console.log(res)
       })
     },
     //申请权限
     requestPermissions() {
       module.requestPermissions({
         //申请权限列表
         permissions: [
           'android.permission.WRITE_EXTERNAL_STORAGE',
           'android.permission.READ_EXTERNAL_STORAGE',
           'android.permission.INTERNET'
         ]
       }, res => {
         console.log(res)
       })
     },
     //检查所有文件访问权限
     checkAllFilesPermission() {
       module.checkAllFilesPermission(res => {
         console.log(res)
       })
     },
     //跳转到所有文件访问权限页面
     toAllFilesPermissionPage() {
       module.toAllFilesPermissionPage(res => {
         console.log(res)
       })
     }
   }
 }
</script>

<style>
</style>

购买说明

  • 购买插件前请先试用,试用通过再购买。在试用中如果遇到任何问题,可与作者联系,将全力协助你使用本插件。

隐私、权限声明

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

android.permission.INTERNET android.permission.ACCESS_NETWORK_STATE android.permission.MODIFY_AUDIO_SETTINGS android.permission.WRITE_EXTERNAL_STORAGE android.permission.ACCESS_WIFI_STATE android.permission.CHANGE_WIFI_STATE android.permission.MANAGE_EXTERNAL_STORAGE

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

插件使用的 百度语音合成SDK会采集数据,详情可参考:https://cloud.baidu.com/doc/SPEECH/s/cltwwjwqm

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

暂无用户评论。