uni-app/vue 文字转语音朗读(附小程序语音识别和朗读)uniapp小程序使用文字转语音播报类似支付宝收款播报小程序语音识别和朗读)

本文主要是介绍uni-app/vue 文字转语音朗读(附小程序语音识别和朗读)uniapp小程序使用文字转语音播报类似支付宝收款播报小程序语音识别和朗读),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

uni-app/vue 文字转语音朗读(小程序语音识别和朗读)

uniapp小程序功能集合

1、uniapp小程序文字转语音播报

一、第一种方式:直接加语音包

固定的文本
先利用工具生成了 文本语音mp3文件,放入项目中,直接用就好了

这里用到的工具:知意配音
链接地址:https://peiyin.wozhiyi.com/newproduction.html

接下来,代码部分。

  1. 在min.js文件里加入以下代码:
Vue.prototype.ScanAudio = function() {var music = null;music = uni.createInnerAudioContext(); //创建播放器对象 music.src = "../../static/cjcg.mp3";  //这里引入自己生成的mp3音频文件地址music.play(); //执行播放music.onEnded(() => {//播放结束music = null;});
}

2.在需要使用的页面直接调用:

//这里为接口请求成功的回调里 播放语音提示  
this.ScanAudio();//播放语音  结合自己项目需求调用

二、第二种方式:微信官方同声传译

第一步:登陆微信公众平台,侧边栏的设置-----第三方设置-----插件管理----添加插件(搜索–同声传译)

在这里插入图片描述
第二步:打开 hbiuider-x,找到当前项目,打开manifest.json,找到源码视图,配置插件

在这里插入图片描述

代码块:

// provider是你查看详情以后的appId
"plugins": {"WechatSI": {"version": "0.3.5","provider": "wx069ba97219f66d99"}
}

第三步,页面引入使用
在这里插入图片描述

let plugin = requirePlugin("WechatSI");
let manager = plugin.getRecordRecognitionManager();// 语音播报bobao(){let _this=this;plugin.textToSpeech({lang: "zh_CN",tts: true,content: '我是智能语音播报',success: function(res) {// console.log("succ tts", res.filename)   let music = null;music = uni.createInnerAudioContext(); //创建播放器对象music.src = res.filename;music.play(); //执行播放music.onEnded(() => {//播放结束music = null;});},fail: function(res) {// console.log("fail tts", res)}})
},

功能实现 ok

2、uniapp小程序人脸识别

已实现

3、uni-app设置安卓系统闹钟

setAlarm(hour,minutes,message) {var that = this;var Intent = plus.android.importClass('android.content.Intent');var AlarmClock = plus.android.importClass("android.provider.AlarmClock");var intent = new Intent(AlarmClock.ACTION_SET_ALARM);//闹钟的小时intent.putExtra(AlarmClock.EXTRA_HOUR, hour);//闹钟的分钟intent.putExtra(AlarmClock.EXTRA_MINUTES, minutes);//响铃时提示的信息intent.putExtra(AlarmClock.EXTRA_MESSAGE, message);//对于一次性闹铃,无需指定此 extra//一个 ArrayList,其中包括应重复触发该闹铃的每个周日。// 每一天都必须使用 Calendar 类中的某个整型值(如 MONDAY)进行声明。//例如[this.Calendar.MONDAY,this.Calendar.TUESDAY,this.Calendar.WEDNESDAY]intent.putExtra(AlarmClock.EXTRA_DAYS, this.alarmDayList);//用于指定该闹铃触发时是否振动intent.putExtra(AlarmClock.EXTRA_VIBRATE, true);//如果为true,则调用startActivity()不会进入手机的闹钟设置界面intent.putExtra(AlarmClock.EXTRA_SKIP_UI, true);//清空任务中在其之上的Activityintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);var main = plus.android.runtimeMainActivity();plus.android.importClass("android.app.Activity");if (intent.resolveActivity(main.getPackageManager()) != null) {main.startActivity(intent);}
},

4、uniapp调用震动(uniapp开启短震动、触感反馈实现)

uniapp官网文档
在文档中只找到了uni.vibrateShort的方法,来开启短震动。对应安卓效果还行

uni.vibrateShort({success: ()=>{console.log('success');}
});

注意
iOS上只有长震动,没有短震动
iOS上需要手机设置“打开响铃时震动”或“静音时震动”,否则无法震动
IOS 开启触感反馈
iPhone 使用触感反馈需要手机支持并且在设置中打开,否则并不能触发。所以必须使用H5+的api方法,其核心代码如下:

let UIImpactFeedbackGenerator = plus.ios.importClass('UIImpactFeedbackGenerator'
)
let impact = new UIImpactFeedbackGenerator()
impact.prepare()
impact.init(1)
impact.impactOccurred()

在需要在需要触感反馈的地方,把这段代码复制进去即可!

代码封装
安卓和ios实现公用代码如下:

onFeedTap() {let platform=uni.getSystemInfoSync().platform// #ifdef APP-PLUSif (platform == "ios") {let UIImpactFeedbackGenerator = plus.ios.importClass('UIImpactFeedbackGenerator');let impact = new UIImpactFeedbackGenerator();impact.prepare();impact.init(1);impact.impactOccurred();}if (platform == "android") {uni.vibrateShort();}// #endif
},

这篇关于uni-app/vue 文字转语音朗读(附小程序语音识别和朗读)uniapp小程序使用文字转语音播报类似支付宝收款播报小程序语音识别和朗读)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/290893

相关文章

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

C#下Newtonsoft.Json的具体使用

《C#下Newtonsoft.Json的具体使用》Newtonsoft.Json是一个非常流行的C#JSON序列化和反序列化库,它可以方便地将C#对象转换为JSON格式,或者将JSON数据解析为C#对... 目录安装 Newtonsoft.json基本用法1. 序列化 C# 对象为 JSON2. 反序列化

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Python ORM神器之SQLAlchemy基本使用完全指南

《PythonORM神器之SQLAlchemy基本使用完全指南》SQLAlchemy是Python主流ORM框架,通过对象化方式简化数据库操作,支持多数据库,提供引擎、会话、模型等核心组件,实现事务... 目录一、什么是SQLAlchemy?二、安装SQLAlchemy三、核心概念1. Engine(引擎)