Speech Synthesis API

简介: Speech Synthesis API

HTML5 中和 Web Speech 相关的 API 实际上有两类,一类是“语音识别( Speech Recognition )”,另外一个就是“语音合成( Speech Synthesis )”,这两个名词听上去很高大上,实际上指的分别是“语音转文字”,和“文字变语音”。这里主要说的是后者,实现“文字转语音”。


语音合成

语音合成的核心是 SpeechSynthesisUtterancespeechSynthesis


SpeechSynthesisUtterance 用以构建一个语音合成实例,接收一个字符串参数。

const msg = new window.SpeechSynthesisUtterance('hello,world');点击复制复制失败已复制


对象属性

实例化后的对象可以通过修改其属性来控制语音播报,属性如下所示:

属性 描述
text 要转换的文本
lang 使用的语言,如 "zh-cn" ,默认为空,即只播放英文
voiceURI 指定使用的声音
volume 音量
rate 语速,默认值是 1 ,范围是[0.1, 10],表示语速的倍数,例如 1 是正常, 2 是正常语速的两倍
pitch 音高


提示

通常实例化 SpeechSynthesisUtterance 后需要设置 langzh-cn


回调方法

SpeechSynthesisUtterance 对象支持的回调方法如下所示:

方法 描述
onstart 语音合成开始时候的回调
onpause 语音合成暂停时候的回调
onresume 语音合成重新开始时候的回调
onend 语音合成结束时候的回调


行为控制

行为控制通过 speechSynthesis 对象来实现,主要用来控制语音播报的各种行为控制,例如开始,暂停,停止,继续播放等

行为 描述
speak() 只能接收 SpeechSynthesisUtterance 实例作为唯一的参数,加入语音播放的队列,开始播放语音
stop() 停止
resume() 继续播放
getVoices() 返回浏览器支持的语音包列表,数组


Demo

::: details Demo源码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>语音测试</title>
    <script src="https://cdn.9xing.cn/jquery/2.1.1/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            //开始播放
            $("#begin_speak").click(function() {
                let content = $("#content").text();
                let msg = new SpeechSynthesisUtterance(content);
                msg.lang = 'zh-cn'
                window.speechSynthesis.speak(msg);
                $("#pause_speak").show();
                $("#cancel_speak").show();
            });
            //停止播放
            $("#cancel_speak").click(function() {
                window.speechSynthesis.cancel();
                $("#pause_speak").hide();
                $("#resume_speak").hide();
                $(this).hide();
            });
            //暂停播放
            $("#pause_speak").click(function() {
                window.speechSynthesis.pause();
                $("#resume_speak").show();
            });
            //继续播放
            $("#resume_speak").click(function() {
                window.speechSynthesis.resume();
                $(this).hide();
            });
        });
    </script>
</head>
<body>
    <div>
        <input type="button" id="begin_speak" value="播放">
        <input type="button" id="pause_speak" style="display:none" value="暂停">
        <input type="button" id="cancel_speak" style="display:none" value="停止">
        <input type="button" id="resume_speak" style="display:none" value="继续播放">
    </div>
    <div id="content">
        <p>Yii2.0是一个高效,安全,快速的PHP开发框架,内置了很多开发时常用的功能。Yii也内置了验证码功能,让我们在开发时可以直接使用,不过框架自带的验证码在生成后,无论是点击验证码还是重新请求生成验证码的URL,生成的验证码内容是没有变化的
        </p>
        <p>yii框架生成验证码,只需在控制器里的
            <span style="font-size: 16px; color:red;font-family: 宋体, SimSun; text-decoration: underline;">actions</span>
            <span style="font-size: 16px; font-family: 宋体, SimSun; text-decoration: none;">方法里,添加一些配置就行了</span>
        </P>
    </div>
</body>
</html>
目录
相关文章
|
12月前
|
移动开发 前端开发 JavaScript
前端开发实战:利用Web Speech API之speechSynthesis实现文字转语音功能
前端开发实战:利用Web Speech API之speechSynthesis实现文字转语音功能
1425 0
|
人工智能 前端开发 API
基于Web Speech API给AI语言模型加上语音功能,距离MOSS又近了一步
基于Web Speech API给AI语言模型加上语音功能,距离MOSS又近了一步
441 0
|
Web App开发 移动开发 Ubuntu
HTML5 Web Speech API,让网站更有趣
Web API 变得越来越丰富,其中一个值得注意的是Web Speech API。传统的网站只能“说”,这个API的出现,让网站能“倾听”用户。这个功能已经开放了一系列的用法,非常棒。
882 0
HTML5 Web Speech API,让网站更有趣
|
2月前
|
JSON API 数据格式
淘宝/天猫图片搜索API接口,json返回数据。
淘宝/天猫平台虽未开放直接的图片搜索API,但可通过阿里妈妈淘宝联盟或天猫开放平台接口实现类似功能。本文提供基于淘宝联盟的图片关联商品搜索Curl示例及JSON响应说明,适用于已获权限的开发者。如需更高精度搜索,可选用阿里云视觉智能API。
|
2月前
|
JSON API 数据安全/隐私保护
深度分析淘宝卖家订单详情API接口,用json返回数据
淘宝卖家订单详情API(taobao.trade.fullinfo.get)是淘宝开放平台提供的重要接口,用于获取单个订单的完整信息,包括订单状态、买家信息、商品明细、支付与物流信息等,支撑订单管理、ERP对接及售后处理。需通过appkey、appsecret和session认证,并遵守调用频率与数据权限限制。本文详解其使用方法并附Python调用示例。
|
19天前
|
数据可视化 测试技术 API
从接口性能到稳定性:这些API调试工具,让你的开发过程事半功倍
在软件开发中,接口调试与测试对接口性能、稳定性、准确性及团队协作至关重要。随着开发节奏加快,传统方式已难满足需求,专业API工具成为首选。本文介绍了Apifox、Postman、YApi、SoapUI、JMeter、Swagger等主流工具,对比其功能与适用场景,并推荐Apifox作为集成度高、支持中文、可视化强的一体化解决方案,助力提升API开发与测试效率。
|
2月前
|
监控 算法 API
电商API接口对接实录:淘宝优惠券接口对接处理促销监控系统
在电商开发中,淘宝详情页的“券后价计算”是极易出错的环节。本文作者结合实战经验,分享了因忽略满减券门槛、有效期、适用范围等导致的踩坑经历,并提供了完整的解决方案,包括淘宝API签名生成、券后价计算逻辑、常见坑点及优化建议,助力开发者精准实现券后价功能,避免业务损失。
|
2月前
|
JSON 算法 安全
淘宝商品详情API接口系列,json数据返回
淘宝开放平台提供了多种API接口用于获取商品详情信息,主要通过 淘宝开放平台(Taobao Open Platform, TOP) 的 taobao.tbk.item.info.get(淘宝客商品详情)或 taobao.item.get(标准商品API)等接口实现。以下是关键信息及JSON返回示例:
|
7天前
|
JSON 前端开发 API
如何调用体育数据足篮接口API
本文介绍如何调用体育数据API:首先选择可靠服务商并注册获取密钥,接着阅读文档了解基础URL、端点、参数及请求头,然后使用Python等语言发送请求、解析JSON数据,最后将数据应用于Web、App或分析场景,同时注意密钥安全、速率限制与错误处理。

热门文章

最新文章