你所不知道的HTML5——语音合成

你所不知道的HTML5——语音合成

前端能力的增强很大程度上依赖于 HTML5 的新 API,从这篇文章开始我也会对平时做不常用的一些 API 做一下学习总结
今天的文章就从语音合成开始

为什么想到这个 API 呢?

在写报告查资料的时候在 “人人都是产品经理”http://www.woshipm.com/ 上发现了一个有趣的功能(打了丑丑的马赛克)

听一下就会发现,播放出来的声音并不是预先录制好的音频资料,而是通过文字识别后合成的语音

那么我们如何在前端实现这样的功能呢?主角登场!

⚠️注意,这个 API 尚在草案阶段,并且在写 demo 的时候浏览器提示部分 API 可能将不被支持,所以本文中提到的解决方案不要用于产品中

语音合成超简单例子

请先戴上耳机,然后将下面的代码复制到chrome控制台中体验~

let msg = new SpeechSynthesisUtterance("欢迎你阅读我的博客");
window.speechSynthesis.speak(msg);

看,前端实现语音合成并不难

今天的主角 Speech Synthesis API

通过上面的例子我们可以猜测到上面调用的两个方法的功能

  • SpeechSyntehesisUtteranc 用来构造一个可以被读出的“东西”
  • window.speechSynthesis.speak 将构造好的“东西”读出来

当然了,语音合成不仅仅包含这两个API,but我们先从这两点入手

SpeechSyntehesisUtteranc

参考:https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisUtterance
SpeechSyntehesisUtteranc对象包含了语音服务要读取的内容和一些参数,比如语言,音高和音量

  • 首先我们可以通过 SpeechSyntehesisUtteranc() 构造函数构造一个对象
  • SpeechSynthesisUtterance.lang 语言
  • SpeechSynthesisUtterance.pitch 音调
  • SpeechSynthesisUtterance.rate 语速
  • SpeechSynthesisUtterance.voice 语音
  • SpeechSynthesisUtterance.volume 音量

注意: 以上属性都是 可读写 的!
可以把下面这段代码copy下来尝试一下,注释中会有说明

let msg = new SpeechSynthesisUtterance();
msg.text = "how are you" // 要合成的文本
msg.lang = "en-US" // 美式英语发音(默认自动选择)
msg
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值