H5 语音合成播报功能

采用的 SpeechSynthesisUtterance实现语音播报功能,参考资料: ONE、TWO

实现效果图:

语音实现效果贴图


语法介绍

1、speechSynthesis.getVoices()

getVoices()的方法SpeechSynthesis接口返回的列表SpeechSynthesisVoice对象代表当前设备上所有可用的声音。


2、speechSynthesis.cancel()

cancel()的方法SpeechSynthesis接口从话语队列中删除所有的话语。


3、speechSynthesis.pause()

pause() 把SpeechSynthesis对象处于暂停状态。


4、SpeechSynthesis.speak()

增加了一个语音话语队列; 它将口语当其他话语排队之前一直说。


5、SpeechSynthesis.resume()

把SpeechSynthesis对象non-paused状态:简历如果它已经停了。


浏览器兼容性

浏览器兼容性贴图1

浏览器兼容性贴图1

代码附上:

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>H5语音播报功能</title><style>article {margin: 0 auto;max-width: 800px;text-align: center;}textarea {max-width: 600px;width:100%;text-align: left;}button{border-radius: 3px;border: 1px solid #dddddd;height: 30px;width: 80px;cursor: pointer;}</style></head><body><article><h3 align="center">语音播报功能:</h3><p><textarea rows="15" class="_play">搜狗[1]  是搜狐公司的旗下子公司,于2004年8月3日推出,目的是增强搜狐网的搜索技能,主要经营搜狐公司的搜索业务。在搜索业务的同时,也推出搜狗输入法、搜狗高速浏览器。</textarea></p><p><label>选择播报语言:</label><select id="voiceSelect" onchange="play()"></select></p><button class="_search" onclick="play()">开始</button><button onclick="resume()">继续</button><button onclick="pause()">暂停</button><button onclick="cancel()">清除队列</button></article></body><script>if(!('speechSynthesis' in window)) {throw alert("对不起,您的浏览器不支持")}var _play = document.querySelector("._play"),to_speak = window.speechSynthesis,dataName, voiceSelect = document.querySelector("#voiceSelect"),voices = [];function play() {cancel();to_speak = new SpeechSynthesisUtterance(_play.value);//to_speak.rate = 1.4;// 设置播放语速,范围:0.1 - 10之间var selectedOption = voiceSelect.selectedOptions[0].getAttribute('data-name');for(i = 0; i < voices.length; i++) {if(voices[i].name === selectedOption) {to_speak.voice = voices[i];}}window.speechSynthesis.speak(to_speak);}//暂停function pause() {window.speechSynthesis.pause();}//继续播放function resume() {window.speechSynthesis.resume(); //继续}//清除所有语音播报创建的队列function cancel() {window.speechSynthesis.cancel();}//创建选择语言的select标签function populateVoiceList() {voices = speechSynthesis.getVoices();for(i = 0; i < voices.length; i++) {var option = document.createElement('option');option.textContent = voices[i].name + ' (' + voices[i].lang + ')';if(voices[i].default) {option.textContent += ' -- DEFAULT';}option.setAttribute('data-lang', voices[i].lang);option.setAttribute('data-name', voices[i].name);voiceSelect.appendChild(option);}}setTimeout(function() {populateVoiceList();}, 0)</script></html>

gitHub地址

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

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

相关文章

语音播报功能的实现

喜欢请关注微信公众号:嵌入式从0到1 公众号内容面向在校大学生、电子爱好者、嵌入式工程师; 涉及电子制作、模块使用、单片机技术、物联网相关知识分享; 软硬件全栈工程师,玩模块,学硬件,带你从0走到1 TTS是Text To Speech的缩写,即“从文本到语音”,是人机对话的一部…

Android 语音播报之项目实战

TextToSpeech项目应用 文字转语音官网简介项目前景项目实战真机调试结尾 文字转语音 从文本合成语音以立即播放或创建声音文件。即TextToSpeech&#xff08;以下简称TTS&#xff09; TTS是语音合成应用的一种&#xff0c;它将储存于电脑中的文件&#xff0c;如帮助文件或…

必应(bing)搜索跳转到百度解决方法

一、删除浏览器插件 以谷歌浏览器为例&#xff0c;点击图片右上角处拓展功能&#xff0c;更多工具→拓展程序 将拓展程序移除即可 二、火狐恶性木马查杀工具 搜索火狐恶性木马查杀工具&#xff0c;在火狐吧即可免费下载&#xff0c;查杀病毒后重启

我们问了ChatGPT几个实时云渲染/Cloud XR的问题,结果发现……

和 宇宙大网红ChatGPT 交流有一段时间了&#xff0c; 感觉他时而靠谱&#xff0c;时而胡扯 当你将严肃问题丢给它时&#xff0c;它的回答科学么&#xff1f;严谨么&#xff1f; 今天&#xff0c;问几个平行云老本行&#xff0c;考考他&#xff01; 除了最后一条&#xff0c;…

【指标计算】老妈再也不担心我的指标算不好了(教你用MyTT、TA-Lib、Pandas TA计算股票指标,附源代码)

教你用MyTT、TA-Lib、Pandas TA计算股票指标&#xff0c;附源代码 前言一、目前Python流行的几款股票行情分析指标计算库1. MyTT2. Ta-lib3. Pandas TA 二、指标计算的准备工作1.下载MyTT文件2.安装Ta-lib包3. 安装Pandas-ta包 三、分别用MyTT、Talib 、Pandas-ta计算5日均线、…

行业指数的周期以及跑赢指数的分位数是多少?

前言 本篇是量化系列的第一篇文章。《量化十万个为什么》系列旨在讨论一些自己心中的疑问&#xff0c;并且通过尝试解答这些问题来提升自己对于市场的认知水平。 PS&#xff1a;博主水平很辣鸡&#xff0c;请大家轻喷&#xff0c;多多指教&#xff01; 一、为什么提这个问题&…

如何通过通达信接口获取最近的分钟级别行情数据?

如何通过通达信接口获取最近的分钟级别行情数据&#xff1f;对于做短线策略的交易者来说&#xff0c;得到实盘的量价数据之后&#xff0c;还需要把这些数据转换为各种技术指标&#xff0c;在策略中去使用和分析。 由于本地采样时间和交易所推送数据时间会有微小的差别&#xf…

POSTMAN 启动特别慢解决方案

需要为POSTMAN添加环境变量&#xff1a; 高级系统设置-环境变量 添加一个新的系统变量&#xff1a; 变量名&#xff1a;POSTMAN_DISABLE_GPU 变量值&#xff1a;true 重新启动POSTMAN

GPT套壳还能走多远?第一批AIGC创业公司开始裁员?新初创公司又该如何应对大模型的快速迭代升级?

AIGC创业投融资火爆推进&#xff0c;一则裁员公告却从天而降引爆关注&#xff1a; 公告来自首批AIGC明星独角兽Jasper。 早在ChatGPT爆火之前&#xff0c;AIGC也还不是大家耳熟能详的概念时&#xff0c;这家公司就已经背靠GPT-3&#xff0c;在18个月从白手起家到估值15亿美元。…

【Python】学习笔记

【Python】学习笔记 【Python】1. in和not in操作2.glob3.Pandas.apply()4.df.dropna()5.fine-tune迁移学习——Fine-tune蒸馏 参考文献 【Python】 1. in和not in操作 利用in和not in操作符&#xff0c;可以确定一个值是否在列表中。像其他操作符一样&#xff0c;in和not in…

聚观早报|OpenAI发文介绍保障AI安全的方法;王慧文AI公司正式开张

今日要闻&#xff1a;OpenAI发文介绍保障AI安全的方法&#xff1b;印度或首次参与iPhone15首批供货&#xff1b;胡润全球白手起家U40富豪榜发布&#xff1b;王慧文 AI 公司正式开张&#xff1b;吴以岭卸任以岭药业董事长 OpenAI发文介绍保障AI安全的方法 美国当地时间 4 月 5 …

手写操作系统+shell+文件系统,绝了

去年秋招及年后找工作的小伙伴应该感受到了寒气逼人&#xff0c;机会又少、又卷……加上chatGPT的出现&#xff0c;可以预见未来几年&#xff0c;简单、基础、重复性工作大概率会被机器人取代……我们将何去何从呢&#xff1f;毫无疑问&#xff0c;成为技术大牛&#xff01; 如…

友盟分享QQ的时候提示应用未正确授权错误码901111

今天打包分享qq的时候突然出现应用未正确授权错误码901111 于是就上友盟和腾讯开放平台上找对应错误码&#xff0c;居然没有发现对应的错误码&#xff01; 经过一番折腾后发现 这个错误是因为在腾讯开放平台没有提交apk的原因导致的 登录腾讯开放平台选择我们的应用 点击进…

微信授权APP第三方登陆(Android)

前几天负责的程序说是要加入第三方登陆的功能&#xff0c;虽然现在有服务商集成了第三方登陆&#xff0c;但是平时所用的也就微信和QQ&#xff0c;就自己看文档写了&#xff0c;其中也遇到了一些问题&#xff0c;然后我把我做这个的流程贴出来&#xff0c;并附上对应的Demo&…

qq授权登录【网站应用】-java版本

第一步&#xff1a;先去qq互联进行创建网站应用&#xff1a;QQ互联 如下图&#xff1a; 第二步&#xff1a;引入qq的jar包&#xff0c;这里采用maven方式引用 <!--QQ坐标--><dependency><groupId>net.gplatform</groupId><artifactId>Sdk4J<…

微信授权登陆-app

app接入第三方微信登陆功能&#xff1a; 移动应用微信登录是基于OAuth2.0协议标准 构建的微信OAuth2.0授权登录系统&#xff0c;前提你需要到微信开放平台注册开发者帐号&#xff0c;并拥有一个已审核通过的移动应用&#xff0c;并获得相应的AppID和AppSecret&#xff0c;申请…

Polkit授权管理

Polkit的配置&#xff1a; 查看polkit服务&#xff1a; 一个是agent&#xff0c;一个是polkit服务&#xff1b; agent包含监听接口和一个用户界面&#xff08;对话窗口&#xff09;&#xff0c;允许用户输入密码。Authentication Agent API Reference(https://www.freedesktop…

chatgpt赋能python:Python实现人脸识别

Python 实现人脸识别 随着人工智能技术的发展&#xff0c;人脸识别已经成为一个热门话题。Python作为一种流行的编程语言&#xff0c;也可以用来实现人脸识别。在这篇文章中&#xff0c;我们将介绍使用Python实现人脸识别的方法。 人脸识别的原理 人脸识别是通过计算机程序识…

比尔·盖茨到达北京;印度要求中国手机品牌高管应为印籍;Android 14 Beta 3 推出|极客头条...

「极客头条」—— 技术人员的新闻圈&#xff01; CSDN 的读者朋友们早上好哇&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一分钟速览新闻点&#…

亚马逊高调入局ChatGPT大战,发布Titan大模型、AI编程助手全免费,CEO:改变所有体验...

MLNLP社区是国内外知名的机器学习与自然语言处理社区&#xff0c;受众覆盖国内外NLP硕博生、高校老师以及企业研究人员。 社区的愿景是促进国内外自然语言处理&#xff0c;机器学习学术界、产业界和广大爱好者之间的交流和进步&#xff0c;特别是初学者同学们的进步。 转载自 |…