SpeechSynthesisUtterance文字转语音播报
一、介绍
SpeechSynthesisUtterance是HTML5中新增的API,用于将指定文字合成为对应的语音.也包含一些配置项,指定如何去阅读(语言,音量,音调)等
二、基本属性
var speech = new SpeechSynthesisUtterance()
- speech.lang 获取并设置话语的语言(en-US、zh-CN)
- speech.pitch 获取并设置话语的音调 (值越大越尖锐,range:0-2, default:1, float)
- speech.rate 获取并设置说话的速度 (值越大语速越快, range:0.1-10, default:1, float)
- speech.text 获取并设置说话时的文本
- speech.voice 获取并设置说话的声音
- speech.volume 获取并设置说话的音量 (range: 0-1, default:1, float)
- speech.onboundary
- speech.onend 播放结束的回调
- speech.onerror 播放出现错误的回调
- speech.onmark 当读到标记文本时的回调
- speech.onpause 播放暂停
- speech.onresume 播放重启
- speech.onstart 播放开始的回调
三、兼容性
四、案例
function speak (msg) {var speech = new SpeechSynthesisUtterance()speech.text = msgspeech.pitch = 1 // 获取并设置话语的音调(0-2 默认1,值越大越尖锐,越低越低沉)speech.rate = 0.9 // 获取并设置说话的速度(0.1-10 默认1,值越大语速越快,越小语速越慢)speech.volume = 100 // 获取并设置说话的音量speech.lang = 'zh-CN' // 设置播放语言// 语音播报结束时的回调speech.onend = (event) => {// 语音播报完需要清空展示内容}
}
speak('你好呀,我叫...')
增加语音循环播放
speak (msg) {const repeatNum = 3var speech = this.speech = new SpeechSynthesisUtterance()speech.text = msgspeech.pitch = 1 // 获取并设置话语的音调(0-2 默认1,值越大越尖锐,越低越低沉)speech.rate = 0.9 // 获取并设置说话的速度(0.1-10 默认1,值越大语速越快,越小语速越慢)speech.volume = 100 // 获取并设置说话的音量speech.lang = 'zh-CN' // 设置播放语言// 增加控制播放次数let count = 1speechSynthesis.speak(speech)while (count < repeatNum) {speechSynthesis.speak(speech)count++}},this.speak('我爱中国')
五、bug解析
出现改警告的原因是浏览器禁止不经过用户允许直接播放声音,导致声音无法播放,解决办法:
- chrome://settings/content/sound添加允许播放声音的网站 (可自动语音播报)
2.增加按钮,手动点击播放声音
SpeechSynthesisUtterance文字转语音播报相关推荐
- 苹果原生文字转语音播报
1.CHiOSSpeech.h // // 文 件 名:CHiOSSpeech.h // // 版权所有:Copyright © 2018年 leLight. All rights reserved. ...
- java 文字转换成语音 代码_java文字转语音播报功能的实现方法
前言 本文主要给大家分享了关于java文字转语音播报的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法如下 一.pom.xml引入jar包依赖 com.hynnet ja ...
- ios 原生语音识别,百度翻译API使用,原生文字转语音播报
若有不正之处,希望大家不吝赐教,谢谢! 原生语音识别所需: 首先需要再plist文件中加入: Privacy - Speech Recognition Usage Description 需要使用si ...
- Android如何解决文字转语音播报的问题
如何解决文字转语音的问题 1.网上的普遍解决方式 2.我自己需求和解决方式 3.总结 1.网上的普遍解决方式 TTS+语音引擎实现离线的语音播报的功能 下载百度,讯飞等厂家的离线SDK(收费) 由于这 ...
- Linux文字转语音播报总结
一.平台: Linux +Qt或win10 二.实现功能 实现播报重量数据,举例:"过磅重量为12345.7千克"或是"过磅重量为1万2千3百4十5点7千克" ...
- java文字转语音播报并输出文件
一.pom.xml引入jar包依赖 <!-- https://mvnrepository.com/artifact/com.jacob/jacob 文字转语音 --> <depend ...
- python之pyttsx3实现文字转语音播报
1. pyttsx3是什么 pyttsx3是Python中的文本到语音转换库,可以实现文本的朗读功能. 2. pyttsx3的安装 pip install pyttsx3 3. pyttsx3的dem ...
- QT应用编程: 调用系统语音引擎完成文字转语音播报
一.环境介绍 操作系统介绍:win10 64位 QT版本: 5.12.6 二.示例代码 在工程文件里加上代码: QT += texttospeechQTextToSpeech *m_speech=ne ...
- vue+文字转换为语音播放,播放指定内容,附带js版本 ,SpeechSynthesisUtterance
首先: 调动方法:参数为指定文字: //语音播报yybbFun(data){this.commonjs.handleSpeak(data);}, 公共方法地址: https://mp.csdn.net ...
最新文章
- 基于 Docker 的 MySQL 导入导出数据
- kalilinux安装qt_Kali Linux安装搜狗输入法(只需5步)
- ArrayList练习——存储随机、存储自定义、按指定格式输出、筛选集合
- Mac下cocos2dx-3.2+Xcode环境配置和项目创建
- 利用posix_fadvise清理系统中的文件缓存
- python如何将数据保存到本地json文件
- AWS Lambda中的Cron表达式解析器
- C语言 FileStreaming fopenfclose
- 年前辞职-WCF入门学习(5)
- WannaCry感染文件恢复方法,企业再也不用愁了!
- lk部分没有msm8937相关目录原因(指向msm8952)
- webstorm 主题 配色
- 很简单只需五步,实现图片换背景!
- 华为服务器系统日志,服务器操作系统日志
- C++ Bulider6.0下string类型问题
- 用java画哆啦a梦,来画哆啦A梦吧!
- mysql定时任务(Navicat)
- Chrome OS 新功能:可在锁屏时切断 USB 访问
- 火山引擎 RTC 自研音频编码器 NICO 实践之路
- MDM9x07 平台启动
热门文章
- Generative Adversarial Networks(WGAN、SAGAN、BigGAN)
- 分享一款在线视频播放器:h-player
- css样式z-index最大值和z-index最小值
- linux自动关机取消命令,Linux中Shutdown命令实现定时自动关机
- Linux源码安装软件包时--prefix的配置建议
- api es7 删除所有数据_【译】ECMAScript 2016 (ES7) 新特性一览
- 握草!查询提升200倍,它难道想干掉传统数据库?
- Vue --- 登陆+注册
- input框如何设置框禁止输入
- L和S波段SAR信号穿透深度评估(Matlab代码实现)