一、介绍

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解析


出现改警告的原因是浏览器禁止不经过用户允许直接播放声音,导致声音无法播放,解决办法:

  1. chrome://settings/content/sound添加允许播放声音的网站 (可自动语音播报)

    2.增加按钮,手动点击播放声音

SpeechSynthesisUtterance文字转语音播报相关推荐

  1. 苹果原生文字转语音播报

    1.CHiOSSpeech.h // // 文 件 名:CHiOSSpeech.h // // 版权所有:Copyright © 2018年 leLight. All rights reserved. ...

  2. java 文字转换成语音 代码_java文字转语音播报功能的实现方法

    前言 本文主要给大家分享了关于java文字转语音播报的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法如下 一.pom.xml引入jar包依赖 com.hynnet ja ...

  3. ios 原生语音识别,百度翻译API使用,原生文字转语音播报

    若有不正之处,希望大家不吝赐教,谢谢! 原生语音识别所需: 首先需要再plist文件中加入: Privacy - Speech Recognition Usage Description 需要使用si ...

  4. Android如何解决文字转语音播报的问题

    如何解决文字转语音的问题 1.网上的普遍解决方式 2.我自己需求和解决方式 3.总结 1.网上的普遍解决方式 TTS+语音引擎实现离线的语音播报的功能 下载百度,讯飞等厂家的离线SDK(收费) 由于这 ...

  5. Linux文字转语音播报总结

    一.平台: Linux +Qt或win10 二.实现功能 实现播报重量数据,举例:"过磅重量为12345.7千克"或是"过磅重量为1万2千3百4十5点7千克" ...

  6. java文字转语音播报并输出文件

    一.pom.xml引入jar包依赖 <!-- https://mvnrepository.com/artifact/com.jacob/jacob 文字转语音 --> <depend ...

  7. python之pyttsx3实现文字转语音播报

    1. pyttsx3是什么 pyttsx3是Python中的文本到语音转换库,可以实现文本的朗读功能. 2. pyttsx3的安装 pip install pyttsx3 3. pyttsx3的dem ...

  8. QT应用编程: 调用系统语音引擎完成文字转语音播报

    一.环境介绍 操作系统介绍:win10 64位 QT版本: 5.12.6 二.示例代码 在工程文件里加上代码: QT += texttospeechQTextToSpeech *m_speech=ne ...

  9. vue+文字转换为语音播放,播放指定内容,附带js版本 ,SpeechSynthesisUtterance

    首先: 调动方法:参数为指定文字: //语音播报yybbFun(data){this.commonjs.handleSpeak(data);}, 公共方法地址: https://mp.csdn.net ...

最新文章

  1. 基于 Docker 的 MySQL 导入导出数据
  2. kalilinux安装qt_Kali Linux安装搜狗输入法(只需5步)
  3. ArrayList练习——存储随机、存储自定义、按指定格式输出、筛选集合
  4. Mac下cocos2dx-3.2+Xcode环境配置和项目创建
  5. 利用posix_fadvise清理系统中的文件缓存
  6. python如何将数据保存到本地json文件
  7. AWS Lambda中的Cron表达式解析器
  8. C语言 FileStreaming fopenfclose
  9. 年前辞职-WCF入门学习(5)
  10. WannaCry感染文件恢复方法,企业再也不用愁了!
  11. lk部分没有msm8937相关目录原因(指向msm8952)
  12. webstorm 主题 配色
  13. 很简单只需五步,实现图片换背景!
  14. 华为服务器系统日志,服务器操作系统日志
  15. C++ Bulider6.0下string类型问题
  16. 用java画哆啦a梦,来画哆啦A梦吧!
  17. mysql定时任务(Navicat)
  18. Chrome OS 新功能:可在锁屏时切断 USB 访问
  19. 火山引擎 RTC 自研音频编码器 NICO 实践之路
  20. MDM9x07 平台启动

热门文章

  1. Generative Adversarial Networks(WGAN、SAGAN、BigGAN)
  2. 分享一款在线视频播放器:h-player
  3. css样式z-index最大值和z-index最小值
  4. linux自动关机取消命令,Linux中Shutdown命令实现定时自动关机
  5. Linux源码安装软件包时--prefix的配置建议
  6. api es7 删除所有数据_【译】ECMAScript 2016 (ES7) 新特性一览
  7. 握草!查询提升200倍,它难道想干掉传统数据库?
  8. Vue --- 登陆+注册
  9. input框如何设置框禁止输入
  10. L和S波段SAR信号穿透深度评估(Matlab代码实现)