更新记录

1.0.6(2023-11-08)

插件内部增加常见问题解决方案

1.0.5(2023-04-21)

初始化逻辑、语音播报逻辑优化,解决偶现停止后重新播放失败的bug

1.0.4(2023-04-14)

1、增加设置队列模式函数setQueueMode(String queueMode) 2、调用speak2函数时增加回调结果,详细说明见插件说明 3、更新插件说明

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 12.0 armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


安卓文字转语音原生插件

  • 支持Android平台使用(本插件不是第三方语音引擎实现,无第三方收费)
    1. 函数说明
序号 函数名称 函数类型 函数说明
1 init1() 初始化 基本初始化,音调和语速默认为常规 1.0
2 init2(float pitch, float speechRate) 初始化 参数1:设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规,默认1.0;参数2:设置语速,1.0为正常语速,默认为1.0
3 init3(String engine) 初始化 使用指定语音播报引擎(需安装第三方语音播报引擎),音调和语速默认为常规 1.0
4 init4(String engine, float pitch, float speechRate) 初始化 参数1:使用指定语音播报引擎(需安装第三方语音播报引擎),参数值为第三方引擎包名,音调和语速默认为常规 1.0;参数2、参数3与初始化函数init2(float pitch, float speechRate)一致
5 setPitch(float pitch) 设置音调 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规,默认1.0
6 setSpeechRate(float speechRate) 设置语速 设置语速,1.0为正常语速,默认为1.0
7 setQueueMode(String queueMode) 设置播放队列方式 参数取值见下方“setQueueMode函数说明”
8 speak1(String text) 文字转语音 参数为要转换的文字
9 speak2(String text,callback) 文字转语音 参数1为要转换的文字;参数2为回调函数
10 stopSpeak() 停止播放 停止播放
11 resume() 重新播放 重新播放,调用stopSpeak()之后课调用该函数,该函数是从头开始播放,并非从停止位置开始播放
  • setQueueMode(String queueMode)函数说明

    该函数为设置播放队列方式的函数,即在调用speak1或speak2函数时,是否覆盖前次调用时设置的播报内容。
    
    可取值如下:(不设置时默认为 QUEUE_FLUSH )
    1、QUEUE_ADD ---> 队列模式,其中新条目添加在回放队列的末尾。
    2、QUEUE_FLUSH ---> 队列模式,播放队列中的所有条目都被删除并被新条目取代。
  • speak2(String text,callback)函数中回调函数说明

    回调函数将会返回如下结果:
    
    {"msg":"语音转文字播报请求ID!","code":1,"data":{"request_id":"1682892941344"}}
    
    {"msg":"语音转文字播报开始!","code":2,"data":{"request_id":"1682892941344"}}
    
    {"msg":"语音转文字播报完成!","code":0,"data":{"request_id":"1682892941344"}}
  • code 值说明

    序号 code值 说明
    1 2 语音播报开始
    2 1 语音播报request_id,在调用speak2时回调函数优先返回
    3 0 语音转文字播报完成
    4 -1 文字转语音类初始化失败,无法正常使用!
    5 -2 系统不支持中文播报,建议尝试使用init3、init4函数初始化
    6 -3 语音播报出错
  • 第三方语音播报引擎可参考

     * 使用指定语音播报引擎,需安装第三方语音播报引擎,如:
     * 1、com.google.android.tts 谷歌文字转语音引擎,不支持5.0以下系统;
     * 2、com.iflytek.speechcloud 科大讯飞语音引擎3.0,支持4.0以上系统;
     * 3、com.baidu.duersdk.opensdk 度秘语音引擎3.0 不支持5.0以下系统;
     * 
  • 使用示例

    <template>
        <view class="uni-column">
            <input type="text" :value="value">
            <button @click="queueMode('QUEUE_ADD')">队列模式QUEUE_ADD</button>
            <button @click="queueMode('QUEUE_FLUSH')">队列模式QUEUE_FLUSH</button>
            <button @click="clickPlay()">播放</button>
            <button @click="clickStop()">停止</button>
            <button @click="clickReplay()">重新播放</button>
        </view>
    </template>
    
    <script>
        const speechModule = uni.requireNativePlugin("jushi-TextToSpeech")
        export default {
            data() {
                return {
                    value: "测试安卓原生插件,系统自带文字转语音0.56"
                }
            },
            created() {
                this.init_1()
                // this.init_2()
                // this.init_3()
                // this.init_4()
            },
            methods: {
                init_1() { //初始化方法1
                //音调和语速设置
                // speechModule.setPitch(1.0)//设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规,默认1.0
                // speechModule.setSpeechRate(1.0)//设置语速,1.0为正常语速,默认为1.0
                    //基本初始化,音调和语速默认为常规 1.0
                    speechModule.init1()
                },
                init_2() { //初始化方法2
                    //初始化并传参
                    //第一个参数 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规,默认1.0
                    //第二个参数 设置语速,1.0为正常语速,默认为1.0
                    speechModule.init2(1.0, 1.0)
                },
                init_3() { //初始化方法3
                // speechModule.setPitch(1.0)//设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规,默认1.0
                // speechModule.setSpeechRate(1.0)//设置语速,1.0为正常语速,默认为1.0
                    //使用指定语音播报引擎(需安装第三方语音播报引擎),音调和语速默认为常规 1.0
                    speechModule.init3('com.google.android.tts')
                },
                init_4() { //初始化方法4
                    //使用指定语音播报引擎(需安装第三方语音播报引擎),并设置音调和语速
                    speechModule.init4('com.google.android.tts', 1.0, 1.0)
                },
                clickPlay(){//调用文字转语音函数
                    // speechModule.speak1(this.value)//无结果回调
                    //有结果回调
                    speechModule.speak2(this.value,res=>{
                        console.log('============ '+res)
                    })
                },
                clickStop(){
                    speechModule.stopSpeak()
                },
                clickReplay(){
                    speechModule.resume()
                },
                queueMode(queueMode){//设置播放队列方式
                    //取值:(不设置时默认为 QUEUE_FLUSH )
                    //1、QUEUE_ADD 队列模式,其中新条目添加在回放队列的末尾。
                    //2、QUEUE_FLUSH 队列模式,播放队列中的所有条目都被删除并被新条目取代。
                    speechModule.setQueueMode(queueMode)
                }
            }
        }
    </script>
    
    <style>
        .uni-column {
            display: flex;
            flex-direction: column;
        }
    
        .uni-row {
            display: flex;
            flex-direction: row;
        }
        input {
            padding: 10rpx;
            margin-top: 400rpx;
        }
        button{
            margin-top: 30rpx;
        }
    </style>
  • 示例应用下载

    扫码下载体验

    其它插件

    安卓原生插件

  • 文件在线预览

  • 银联支付线上收银台(通用版) 封装

  • 阿里云RTC音视频通话

  • 权限请求

  • 文字转语音

  • MQTT连接

  • 获取手机通讯录联系人

  • 快捷工具悬浮窗

  • 日历日程事件

  • 获取本地音频文件信息

  • 根据经纬度获取位置信息

  • WebSocket连接

  • 高德地图封装安卓原生地图扩展组件

  • 使用ECharts封装的安卓原生扩展组件

  • 给图片添加水印

  • 自定义通知栏通知

    UTS插件

  • 安卓权限请求UTS插件

  • 安卓文字转语音UTS插件

  • 安卓获取音频文件UTS插件

    前端插件

  • ECharts封装全端通用组件

  • 图片添加水印,支持微信小程序、H5

  • 手写签名、电子签名组件

隐私、权限声明

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

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

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

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问