在Js中如何实现文本朗读即文字转语音功能实现

本文介绍了如何在JavaScript中使用SpeechSynthesis API来实现文字转语音的朗读功能,包括设置语言、音调、速度等参数,并提供了简单的代码示例。需要注意的是,这个API不兼容IE浏览器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9db8024d6145b123a8efc1db27986da1.jpeg

前言

平时在做项目的过程中,有遇到场景是客户要求播放语音的场景,比如:无障碍朗读,整篇文章实现朗读,文字转语音,文字转语音播放等等。

在不使用第三方API接口的情况下,这里需要js来实现文字转语音播放的功能。能想到的也就是利用html5的个APISpeechSynthesis

SpeechSynthesis用于将指定文字合成为对应的语音.也包含一些配置项,指定如何去阅读(语言,音量,音调)等等

SpeechSynthesis实例对象属性

  1. lang 获取并设置话语的语言

  2. pitch 获取并设置话语的音调(值越大越尖锐,越低越低沉)

  3. rate 获取并设置说话的速度(值越大语速越快,越小语速越慢)

  4. text 获取并设置说话时的文本

  5. voice 获取并设置说话的声音

  6. volume 获取并设置说话的音量

SpeechSynthesis方法

  1. speak() 将对应的实例添加到语音队列中

  2. cancel() 删除队列中所有的语音.如果正在播放,则直接停止

  3. pause()暂停语音

  4. resume() 恢复暂停的语音

  5. getVoices 获取支持的语言数组. 注意:必须添加在voiceschanged事件中才能生效

实例对象中的方法

  1. onstart – 语音合成开始时候的回调。

  2. onpause – 语音合成暂停时候的回调。

  3. onresume – 语音合成重新开始时候的回调。

  4. onend – 语音合成结束时候的回调

简单实现

如果想让浏览器读出“书以启智,技于谋生,活出斜杠”的声音,可以下面的js代码:

let utterThis = new SpeechSynthesisUtterance('书以启智,技于谋生,活出斜杠');
speechSynthesis.speak(utt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值