当前位置: 首页 > news >正文

Vue语音播报,不用安装任何包和插件,直接调用。


Vue语音播报功能可以通过使用浏览器提供的Web Speech API来实现。这个API允许你的应用程序通过浏览器朗读文本,不用安装任何包和插件,直接调用。以下是一个简单的介绍,演示如何在Vue中使用语音提示功能:

一、JS版本

<template><el-button type="success" @click="playVoice">Web Speech API</el-button>
</template>
<script>
const synth = window.speechSynthesis // 启用文本
const msg = new SpeechSynthesisUtterance()
export default {data() {return {}},methods: {playVoice() {this.handleSpeak('测试111111111') // 传入需要播放的文字},// 语音播报的函数handleSpeak(text) {msg.text = text // 内容msg.lang = 'zh-CN' // 使用的语言:中文msg.volume = 1 // 声音音量:1msg.rate = 1 // 语速:1msg.pitch = 1 // 音高:1synth.speak(msg) // 播放},// 语音停止handleStop(e) {msg.text = emsg.lang = 'zh-CN'synth.cancel(msg) // 取消该次语音播放}}
}
</script>

二、TS版本

运用TS封装形式来实现语音播报功能。
创建一个VoiceAnnouncements.ts的文件,然后在应用的Vue页面进行引入该ts文件并使用。

class VoiceAnnouncements {public synth = window.speechSynthesis // 启用文本public msg: any = new SpeechSynthesisUtterance()public language: string = 'zh-CN'  // 使用的语言:中文public volume: number = 1 // 音量public speed: number = 1  // 语速public pitch: number = 1 // 音高// 开始语音提示startVoiceFunction = (content: String) => {this.msg.text = contentthis.msg.language = this.language this.msg.volume = this.volume this.msg.speed = this.speedthis.msg.pitch = this.pitchthis.synth.speak(this.msg) }// 停止语音提示stopVoiceFunction = (content: any) => {this.msg.text = contentthis.msg. language = this. languagethis.synth.cancel(this.msg) }}//传出实例,保证整个系统只存在单例的Voice
const VoiceAnnouncementsInstance = new VoiceAnnouncements()export default VoiceAnnouncementsInstance

http://www.lryc.cn/news/250092.html

相关文章:

  • 公网穿透和RTC
  • uniapp 使用web-view外接三方
  • SQL Sever 复习笔记【一】
  • 外贸平台信息群发脚本的优势!
  • 一文打尽相机单目标定(远心,沙姆镜头)
  • 基于springboot+vue的秒杀商城(前后端分离)
  • C++-火车编组
  • kafka学习笔记(一)--脑裂
  • 一看就懂的RxJava源码分析
  • halcon中灰度图自动二值化
  • Mybatis-Plus实体类注解怎么用
  • 我是如何写作的?
  • 绩效考核实施之——如何做好部门间绩效的平衡?
  • 全新付费进群系统源码 完整版教程
  • 拉新地推任务管理分销助手公众号开发
  • MySQL三范式
  • 玩转微服务-技术篇-JSDOC教程
  • Android12之logcat日志显示颜色和时间(一百六十七)
  • 【Windows】内网穿透实现hMailServer远程发送邮件
  • 深信服技术认证“SCSA-S”划重点:SQL注入漏洞
  • Leetcode-二叉树oj题
  • 软件磁盘阵列(software RAID)
  • 浏览器安全攻击与防御
  • vue生命周期、工程化开发和脚手架
  • 文件搜索工具HoudahSpot mac中文版特点
  • maven中scope和optional区别
  • 《ChatGPT实操应用大全》探索无限可能
  • 基于helm的方式在k8s集群中部署gitlab - 部署(一)
  • flask web开发学习之初识flask(二)
  • 利用异或、取反、自增bypass_webshell_waf