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
},

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/176065.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【CSS】position

CSS position 1.静态布局 static static 是 position 属性的默认值,表示没有定位。使用静态定位的元素会按照元素正常的位置显示,并且不会受到 top、bottom、left、right 和 z-index 属性的影响。 2.相对定位 relative 相对定位就是元素相对于自己默…

Spring Cloud 之RabbitMQ的学习【详细】

服务通信 分布式系统通信两种方式: 直接远程调用(同步)借助第三方间接通信(异步) 同步通讯的问题 Feign就属于同步通讯。存在的如下问题 耦合度高,每次添加新的模块就要修改原有模块的代码性能下降&am…

css(层叠样式表)

文章目录 一、CSS介绍二、CSS使用方式1. 行内样式/内联样式(单一页面中使用)设置背景颜色 background-color:green; 2. 内嵌样式(少量页面中使用)3. 外链样式表(项目中使用) 三、 样式表特征1. 层叠性2. 继…

学习redis之前的泛泛而谈(特性介绍,应用场景,Ubuntu安装与通用命令介绍)

文章目录 前言关于分布式系统Redis特性Redis应用场景Redis5安装redis命令最核心的两个命令:get和setkeysexitsdelexpirettlredis中key的过期策略type redis数据类型的内部实现方式redis的单线程 前言 redis最重要的概念:在内存中存储数据 为什么要设计一…

代购商城源码是否可以定制开发?

定制开发,符合个性需求 代购商城源码是现代电子商务中的重要工具,它为代购商提供了建立在线店铺、管理产品和订单、处理支付和物流等功能。然而,对于不同的代购商而言,在源码的基础上进行个性化定制开发无疑是提升竞争力和用户体验…

2023年软件测试工具总结 —— 单元测试工具

在应用程序中,单元是具有一个或多个输入和单个输出的软件中最小可测试部分。单元测试是一种测试软件代码单元的方法,通常包括一个或两个输入,产生一个输出。单元测试主要关注独立模块的功能正确性,目的是确保每个单元都按照预期的…

毛发渲染方案实现

一、毛发材质概述 以前毛发只能用离线来做 现在实时毛发逐渐可能。长毛渲染和短毛渲染采用的是不同的方案。 二、长毛类制作分析 各向异性 kajiya算法 # 三、短毛类制作分析 四、制作心得及技巧

成为一个优秀的测试工程师需要具备哪些知识和经验?

看到这个题目,头脑中马上就拆分出了3个小问题: 1、什么是优秀的测试工程师? 2、优秀测试工程师需要哪些知识? 3、优秀测试工程师需要哪些经验? 一个个讲解。 一、什么才是一名优秀的测试工程师呢? 什么才是…

奇富科技引领大数据调度革命:高效、稳定、实时诊断

日前,在世界最大的开源基金会 Apache旗下最为活跃的项目之一DolphinScheduler组织的分享活动上,奇富科技的数据平台专家刘坤元应邀为国内外技术工作者献上一场题为《Apache DolphinScheduler在奇富科技的优化实践》的精彩分享,为大数据任务调…

C++进阶语法——智能指针【学习笔记(五)】

文章目录 1、智能指针简介1.1 原始指针(raw pointer)的⼀些问题1.2 智能指针(smart pointers) 2、智能指针(smart pointers)——unique_ptr2.1 unique_ptr 的声明2.2 unique_ptr 的函数2.3 ⾃定义类型使⽤ …

Go-Python-Java-C-LeetCode高分解法-第十二周合集

前言 本题解Go语言部分基于 LeetCode-Go 其他部分基于本人实践学习 个人题解GitHub连接:LeetCode-Go-Python-Java-C 欢迎订阅CSDN专栏,每日一题,和博主一起进步 LeetCode专栏 我搜集到了50道精选题,适合速成概览大部分常用算法 突…

比较Excel中的两列目录编号是否一致

使用java代码比较excel中两列是否有包含关系,若有包含关系,核对编号是否一致。 excel数据样例如下: package com.itownet.hg;import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook;import j…

C++设计模式_21_Iterator 迭代器(理解;面向对象的迭代器已过时;C++中使用泛型编程的方式实现)

Iterator 迭代器也是属于“数据结构”模式。GoF中面向对象的迭代器已经过时,C中目前使用泛型编程的方式实现,其他语言还在使用面向对象的迭代器。 文章目录 1. 动机(Motivation)2. 模式定义3. Iterator 迭代器代码分析4. 面向对象的迭代器与泛型编程实现…

基于MFC的串口通信(Mscomm)

1、串口通信的概述: 串口是一种重要的通信资源,例如鼠标口、USB接口都是串口。串行端口是CPU和串行设备间的编码转换器。当数据从CPU经过端口发送出去的时候,字节数据会被转为串行的位,在接收数据时,串行的位被转换为…

用Visual Studio(VS)开发UNIX/Linux项目

目录 FTP是免不了的 正确设置头文件 组织项目结构 创建何种项目类型 FTP自动上传 大部分具有Windows开发经验的程序员会比较喜欢使用Visual Studio,而大部分Unix/Linux程序员则喜欢使用UltraEdit直接在主机上写代码。 为什么直接在主机上写代码呢,因…

AIGC - Qwen大模型:Qwen-7B模型推理部署

硬件环境 作为AIGC方面的小白来说,我抱着非常天真的想法,想让它在我的工作笔记本上用i5的CPU去跑,至于为什么这么想,当然是因为我没有GPU,身边也没有其他的带显卡电脑 恰好,在腾讯云看到了GN7的显示优惠活…

内存DMA及设备内存控制详解

序言 对于PCIe 设备(PCIe Endpoint)来说,其和CPU CORE、DRAM 的交互,主要涉及两种类型的内存访问: 设备内存访问:PCIe 设备的 Device Memory(设备内存)的访问,例如CPU …

③ 软件工程CMM、CMMI模型【软考中级-软件设计师 考点】

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ ③ 软件工程CMM、CMMI模型【软考中级-软件设计…

flink 反压原理

背景 在flink中由于数据倾斜或者数据处理速率的不匹配,很容易引起反压,本文就看一下flink反压的原理 flink反压原理 flink全流程pineline的反压实现其实依赖于TaskManager之间的反压和TaskManager内部的反压来实现 1.TaskManager之间的反压 2.Task…

视频下载软件 Downie4 mac中文介绍

Downie mac是一款Mac平台上非常实用的视频下载工具。它支持下载各种视频网站上的视频,并且具有快速、稳定、易于使用的特点。 Downie支持下载各种视频网站上的视频,包括YouTube、Vimeo、Netflix、Hulu、Amazon等等。它具有快速、稳定的下载速度&#xff…